Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

[Excel 2007]- Tabella ancorata a Range fisso Opzioni
aetio
Inviato: Monday, October 15, 2012 9:19:41 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
eccomi con l’ennesimo problema… :-)) )
In Foglio2 ho questa tabella



che ho organizzato in modo da poterla aggiornare aggiungendo di volta in volta la riga 5 (i dati più vecchi sono in basso) scrivendovi poi i dati nelle rispettive celle. Come si può notare in col.A, da riga13 a riga17 (facimm’e corna :-)) ) ), le celle sono colorate di giallo tenue, da riga18 a riga27 di giallo, mentre il Range B13:AE17è delimitato sia in alto sia in basso da una riga rossa.
Ho necessità che il Range A13:AE27 mantenga i formati assegnati (solo i colori, non i codici che invece seguono la normale evoluzione della tabella), evitandomi di lavorare manualmente ogni volta per risistemare detto Range che, ogni volta che viene aggiunta la rig5, si sposta verso il basso.
Ho provato a ragionare intorno alla macro
Private Sub Worksheet_Change(ByVal Target As Range)
Range("Riferimento1").Interior.ColorIndex = xlNone
With ActiveWorkbook.Worksheets("RIEPILOGO").Names("Riferimento1")
.RefersTo = "='RIEPILOGO'!$B$30:$B$40"
End With
Range("Riferimento1").Interior.ColorIndex = 6
End Sub

che mi avevi preparato ad hoc (ma dove c'è un altro Angelo come te?)
ma le cose si complicano notevolmente, data la mia somma ignoranza in materia di VBA…
Qual è la sintassi giusta per la macro risolutrice?
Come sempre Grazie infinite, e buona serata
eZio
Sponsor
Inviato: Monday, October 15, 2012 9:19:41 PM

 
a10n11
Inviato: Tuesday, October 16, 2012 5:48:54 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
salve
crea i tre nomi
- Riferimento assegnato a A13:A17
- Riferimento1 assegnato a A18:A27
- Riferimento2 assegnato a B13:AE17
e prova con questa macro che segue:


Private Sub Worksheet_Change(ByVal Target As Range)
Range("Riferimento").Interior.ColorIndex = xlNone
Range("Riferimento1").Interior.ColorIndex = xlNone
Range("Riferimento2").Interior.ColorIndex = xlNone
Range("Riferimento2").Borders.LineStyle = xlNone

With ActiveWorkbook.Names("Riferimento")
.RefersTo = "='RIEPILOGO'!$A$13:$A$17"
End With
With ActiveWorkbook.Names("Riferimento1")
.RefersTo = "='RIEPILOGO'!$A$18:$A$27"
End With
With ActiveWorkbook.Names("Riferimento2")
.RefersTo = "='RIEPILOGO'!$B$13:$AE$17"
End With
Range("Riferimento").Interior.ColorIndex = 6
Range("Riferimento1").Interior.ColorIndex = 5
With Range("Riferimento2").Borders(xlEdgeTop)
.LineStyle = xlContinuous
End With
With Range("Riferimento2").Borders(xlEdgeBottom)
.LineStyle = xlContinuous
End With
End Sub

saluti
Giap



aetio
Inviato: Tuesday, October 16, 2012 9:31:48 PM

Rank: AiutAmico

Iscritto dal : 5/10/2010
Posts: 723
Ciao,
...anche questa è bellissima!! Per farla girare ho dovuto modificare il codice (per ogni nome)
With ActiveWorkbook.Names("Riferimento")
in
With ActiveWorkbook.Worksheets("RIEPILOGO").Names("Riferimento")
perché la modifica che la macro deve fare è inserita in una serie di istruzioni fatte partire da un altro foglio di lavoro... ;-)
Grazie assai e buona serata
eZio
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.