john_revelator
26-02-2008, 16:43
Ciao a tutti. Il mio problema è il seguente: devo applicare dei bordi all'intervallo di celle utilizzato in ciascun foglio del mio file di excel. L'ultima colonna non è sempre la stessa quindi ho necessità di trovarla di volta in volta. Cercando in rete ho trovato questa sub
Option Base 1
Public Sub find_last_column()
Dim colonne As Variant
colonne = Array("A", "B", "C", "D", "E", "F", "G", "H")
Dim LC%
LC = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
MsgBox colonne(LC)
End Sub
che ho leggermente modificato per avere la lettera e non il numero.
Il mio problema consiste nel fatto che sul singolo foglio funziona ma non riesco ad integrarla all'interno del mio ciclo.
Se scrivo ad esempio in fase di debug
For Each foglio In xlWorkbook.Worksheets
LC = foglio.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
MsgBox (LC)
next
mi viene sempre restituito il seguente errore: errore di run-time '2465'
impossibile trovare il campo '|' a cui si fa riferimento nell'espressione.
Potete dirmi dove sbaglio? Ciao e grazie. :)
Option Base 1
Public Sub find_last_column()
Dim colonne As Variant
colonne = Array("A", "B", "C", "D", "E", "F", "G", "H")
Dim LC%
LC = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
MsgBox colonne(LC)
End Sub
che ho leggermente modificato per avere la lettera e non il numero.
Il mio problema consiste nel fatto che sul singolo foglio funziona ma non riesco ad integrarla all'interno del mio ciclo.
Se scrivo ad esempio in fase di debug
For Each foglio In xlWorkbook.Worksheets
LC = foglio.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
MsgBox (LC)
next
mi viene sempre restituito il seguente errore: errore di run-time '2465'
impossibile trovare il campo '|' a cui si fa riferimento nell'espressione.
Potete dirmi dove sbaglio? Ciao e grazie. :)