Sub copiadaglialtri()
Dim questo As String
Dim r As Long, x As Long
r = Range("A60000").End(xlUp).Row
questo = ThisWorkbook.Name
For x = 1 To Workbooks.Count
If Workbooks(x).Name <> questo Then
r = r + 1
With Workbooks(x).Sheets(1)
Cells(r, 1) = .Range("H26").Value
Cells(r, 2) = .Range("I13").Value
Cells(r, 3) = .Range("I14").Value
Cells(r, 4) = .Range("H19").Value
Cells(r, 5) = .Range("H20").Value
Cells(r, 6) = .Range("F23").Value
Cells(r, 7) = .Range("F24").Value
Cells(r, 8) = .Range("F25").Value
End With
End If
Next
End Sub
sarebbe molto più utile se copiasse non solo i dati contenuti nelle celle
del primo foglio, ma da tutti i fogli contenuti nella cartella aperta.
Ringrazio in anticipo chi saprà essermi d'aiuto.
Blinker
grazie ancora
Blinker
P.S. ho cambiato l'oggetto della richiesta perchè più chiara
Proviamo di capire meglio.
Vuoi copiare sempre i valori
delle stesse celle
da *tutti* i fogli di una cartella?
Una volta copiati, dove e come li andiamo
ad incollare?
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
> Proviamo di capire meglio.
> Vuoi copiare sempre i valori
> delle stesse celle
> da *tutti* i fogli di una cartella?
esattamente come dici tu
> Una volta copiati, dove e come li andiamo
> ad incollare?
la macro che ho precedentemente postato prende i valori di 8 celle (del
primo foglio) e li *mette* tutti su una riga.
Fino qui va benissimo (se ripeto la macro ricopia gli stessi valori nella
riga successiva).
Sarebbe utile avere nelle righe successive, sempre con lo stesso ordine, i
valori delle stesse 8 celle, ma contenute nei fogli successivi al
foglio1(foglio2,ecc ..ecc,foglio100).
Sperando di aver chiarito ringrazio ancora per la pazienza e la cortesia
Blinker
Public Sub m()
Dim lng As Long
Dim ur As Long
Dim s As String
s = "Foglio"
For lng = 1 To 100
With Worksheets(s & 101)
ur = .Range("A" & Rows.Count).End(xlUp).Row
End With
With Worksheets(s & lng)
.Range("A1:H8").Copy _
Destination:= _
Worksheets(s & 101).Range("A" & ur + 1)
End With
Next
End Sub
Prova di adattarla alle tue esigenze.
Non l'ho testata. Rimango al pc
un'oretta e poi se ne riparla il
7 gennaio.... 8-)
--
---------------------------
Mauro Gamberini(che domani se ne va un po' in montagna...8-)))))))
http://www.riolab.org/
AUGURI a tutti
Blinker
Prova cosě:
Public Sub m()
Dim ur As Long
Dim sh As Sheet
For Each sh In Worksheets
If sh.Name <> "NomeFoglioDiDestinazione" Then
With Worksheets("NomeFoglioDiDestinazione")
ur = .Range("A" & Rows.Count).End(xlUp).Row
End With
With sh
.Range("A1:H8").Copy _
Destination:= _
Worksheets("NomeFoglioDiDestinazione").Range("A" & ur + 1)
End With
Next
End Sub
> tu intanto riposati al massimo e non partire con il portatile
>
Ci mancherebbe!
Ho l'HTC TYTN II con il suo bel Excel...
... senza macro perň... 8-(
con una Object al posto di Sheet (dava errore anche con la s finale), un End
If verso la fine -vista la rapidità nella risposta sarà sicuramente rimasto
nella tastiera :-) - e una piccola correzione funziona alla perfezione.
Però chiedo se c'è un modo più elegante per scrivere questa cosa:
.Range("H26").Copy _
Destination:= _
Worksheets("Elenco").Range("A" & ur + 1)
.Range("I13").Copy _
Destination:= _
Worksheets("Elenco").Range("B" & ur + 1)
.Range("F23").Copy _
Destination:= _
Worksheets("Elenco").Range("C" & ur + 1)
che poi è l'altra modifica perchè le celle che mi interessano non sono
adiacenti.
Tutto questo quando torni ... ancora grazie.
Blinker
Siamo qui...
Se per favore spieghi cosa non è adiacente:
le celle di destinazione? O che altro?
ciao e grazie Blinker