PDA

View Full Version : [vba excel] Ultima colonna usata all'interno di un ciclo


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. :)

Simone_dev70
10-08-2008, 13:13
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. :)


Salve, ho anch'io il solito problema e volevo sapere se lo avevi risolto e come.
grazie