Ciao a tutti
con un pulsante voglio creare un nuovo foglio in un'altra cartella.
I valori contenuti in un foglio specifico della cartella di lavoro attiva verranno incollati in questo foglio.
Il nome del foglio è preso dalla cella A1 del foglio dove sono presenti i dati da copiare.
I dati da copiare partono dalla cella A1 fino all'ultima riga occupata.
Il problema è che mi dà l'errore 9, Indice fuori intervallo, nella riga 6.
Il file "listbox.xlsm" è attivo, mentre "data_gigi.xlsm" non lo è.
La macro "AddNewWorksheet" crea correttamente il nuovo foglio.
[CODE = vba]
Dim wb1 come cartella di lavoro
Dim wb2 come cartella di lavoro
Dim WS come foglio di lavoro
Dim LastRow As Long
Imposta wb1 = Cartelle di lavoro ("listbox.xlsm")
Imposta wb2 = Cartelle di lavoro ("data_gigi.xlsm") '<= here
Imposta ws = wb1.Worksheets ("Sheet4")
ws.Range ("A1") Selezionare
Selezione.Copia
wb2.Open
wb2.Worksheets ("Sheet1"). Attiva
Intervallo ("A1") Selezionare
ActiveSheet.Paste
Chiama AddNewWorksheet
wb1.Worksheets ("Sheet4"). Selezionare
Fogli ("Foglio4"). Celle (Rows.Count, 1) .End (xlUp) .Row.Select
Selezione.Copia
wb2.ActiveSheet.Select
LastRow = ActiveSheet.Cells (Rows.Count, 1) .End (xlUp) .Row
ActiveSheet.Paste
ActiveWorkbook.Save
Imposta wb2 = Nothing
End Sub [/ CODE]
è un errore nei percorsi?
quindi non credo sia corretto:
Fogli ("Foglio4"). Celle (Rows.Count, 1) .End (xlUp) .Row.Select
con un pulsante voglio creare un nuovo foglio in un'altra cartella.
I valori contenuti in un foglio specifico della cartella di lavoro attiva verranno incollati in questo foglio.
Il nome del foglio è preso dalla cella A1 del foglio dove sono presenti i dati da copiare.
I dati da copiare partono dalla cella A1 fino all'ultima riga occupata.
Il problema è che mi dà l'errore 9, Indice fuori intervallo, nella riga 6.
Il file "listbox.xlsm" è attivo, mentre "data_gigi.xlsm" non lo è.
La macro "AddNewWorksheet" crea correttamente il nuovo foglio.
[CODE = vba]
Dim wb1 come cartella di lavoro
Dim wb2 come cartella di lavoro
Dim WS come foglio di lavoro
Dim LastRow As Long
Imposta wb1 = Cartelle di lavoro ("listbox.xlsm")
Imposta wb2 = Cartelle di lavoro ("data_gigi.xlsm") '<= here
Imposta ws = wb1.Worksheets ("Sheet4")
ws.Range ("A1") Selezionare
Selezione.Copia
wb2.Open
wb2.Worksheets ("Sheet1"). Attiva
Intervallo ("A1") Selezionare
ActiveSheet.Paste
Chiama AddNewWorksheet
wb1.Worksheets ("Sheet4"). Selezionare
Fogli ("Foglio4"). Celle (Rows.Count, 1) .End (xlUp) .Row.Select
Selezione.Copia
wb2.ActiveSheet.Select
LastRow = ActiveSheet.Cells (Rows.Count, 1) .End (xlUp) .Row
ActiveSheet.Paste
ActiveWorkbook.Save
Imposta wb2 = Nothing
End Sub [/ CODE]
è un errore nei percorsi?
quindi non credo sia corretto:
Fogli ("Foglio4"). Celle (Rows.Count, 1) .End (xlUp) .Row.Select