| | Post: 9 | Registrato il: 11/07/2012
| Città: MILANO | Età: 50 | Utente Junior | excel 2007 | | OFFLINE | |
|
16/06/2017 14:13 | |
Buongiorno a tutti,
Nel foglio1 ho un carico macchine che devo dislocare automaticamente in base al mese di consegna nei fogli relativi al mese di appartenenza.
ES: Codice 11111 14/07/2017
deve essere copiato nel Foglio "luglio"
Etc. etc.
So che mi sto perdendo in un bicchier d'acqua ma il cervello ha detto stop
Qualche anima pia?! |
|
| | Post: 3.289 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
16/06/2017 15:01 | |
Ciao P.Belli
La macro che vedi qui fa quello che chiedi ma tienti presente che ho dovuto apportare diverse modifiche al tuo foglio
1) Inserita in foglio1 una colonna per il mese
2) modificati i nomi dei fogli
3) trasformate tutte le formule in valori
4) Inserita tabella per il CERCA.VERT dei mesi
5) applicato diversi formati sui fogli dei mesi (guardandoli ti renderai conto)
vb Sub SuddividiPerMese()
Dim i As Integer
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
ur = Sheets("Foglio1").Cells(Rows.Count, 1).End(xlUp).Row
Set rng = Sheets("Foglio1").Range("a2:a" & ur)
For Each cel In rng
lr = Sheets(cel.Value).Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To 7
Sheets(cel.Value).Cells(lr + 1, i).Value = cel.Offset(0, i).Value
Next i
Next cel
End Sub
Per eseguire la macro Alt+F8 la selezioni e Ok.
Ti allego il file
Insomma hai un po' da studiare..... [Modificato da alfrimpa 16/06/2017 15:33]
Alfredo |
| | Post: 9 | Registrato il: 11/07/2012
| Città: MILANO | Età: 50 | Utente Junior | excel 2007 | | OFFLINE | |
|
16/06/2017 16:16 | |
Grazie Alfredo ma purtroppo le colonne A e B sono occupate e non posso modificare l'ordine!
Infatti ho provato a spostare il Cerca.Vert nella colonna R (modificando anche il VB della macro) ma non funziona.
Visto che non posso tramutare le formule in valori (perchè vengono estrapolete da un db sul server), pensi sia possibile effettuare una macro che copia il range di dati che mi interessa del Foglio "Impegnato", far copiare nei vari fogli dei mesi il suddetto range, ed eseguire un Selezione/Eliminazione del mese corrispondente?
Spero di essermi spiegato....ho i miei dubbi [Modificato da P.Belli 16/06/2017 16:17] |
| | Post: 3.290 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
16/06/2017 16:25 | |
In effetti non è che abbia capito molto.
Se si sposta il cerca.vert in R va cambiata macro.
Io ho copiato/incollato i valori perchè le date non venivano riconosciute come tali con le formule e per me era indispensabile ricavare dalla data il mese per il collegamento ai fogli.
Ora come ora non saprei; dobbiamo riparlarne martedì se non ti arrivano altre risposte.
Alfredo |
| | Post: 1.396 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
16/06/2017 18:22 | |
Ciao
il tuo documento segnala delle grosse anomalie su riferimenti circolari.
Forse è bene che prima d'ogni altra cosa tu sistemi tali incongruenze.
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 3.291 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | OFFLINE |
|
16/06/2017 18:58 | |
E non è solo quello il problema.
Alfredo |
| | Post: 10 | Registrato il: 11/07/2012
| Città: MILANO | Età: 50 | Utente Junior | excel 2007 | | OFFLINE | |
|
19/06/2017 16:28 | |
Grazie a tutti e due, però i problemi riferimenti circolari, sul mio foglio, non li trovo.
Però ho problemi sulla macro che mi hai girato in quanto mi esegue la "selezione" ma mi genera l'errore che allego qui sotto?
Sapete spiegarmi il perchè?
Ho cominciato da poco e a piccoli passi spero di arrivare almeno alla metà del grado Vs di conoscenza del Foglio di calcolo per eccellenza!
Sto studiando...portate pazienza.
[Modificato da P.Belli 19/06/2017 16:30] |
| | Post: 1.399 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
19/06/2017 17:11 | |
Ciao
ma che c'è in col. A del foglio "calendario lavorativo ferie" ?
visto che le colonne proposte da Alfredo (saluti) non le hai potute usare?
Perché non invii il file con tale foglio?
saluti Domenico
Win 10 - Excel 2016 |
| | Post: 11 | Registrato il: 11/07/2012
| Città: MILANO | Età: 50 | Utente Junior | excel 2007 | | OFFLINE | |
|
19/06/2017 17:24 | |
Non potendo utilizzare le colonne A e B del Foglio "Impegnato" ho collegato le Celle del suddetto foglio a "Calendario LAvorativi-Ferie" così da emulare la Macro proposta da Alfredo... ma mi propone l'errore nell'immagine alleagata.
Dovrei allegarvi tutto il foglio di Excel che è colleagato ad un db del mio Gestionale con il quale poi elaboro query personalizzate.
Tutta la cartella è abbastanza pesante e comunque vi verrebbero a mancare alcune info...vedreste solo il collegamento odbc...
Vedo cosa posso fare... |
| | Post: 1.402 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
19/06/2017 17:58 | |
Ciao
ma se nella col. A il mese è vuoto ???
lo devi testare nella sub che, comunque, va in un modulo non nel vb del foglio
Sub SuddividiPerMese()
Dim i As Integer
Dim ur As Long
Dim lr As Long
Dim rng As Range
Dim cel As Range
ur = Sheets("Calendario Lavorativi-Ferie").Cells(Rows.Count, 2).End(xlUp).Row
Set rng = Sheets("Calendario Lavorativi-Ferie").Range("a2:a" & ur)
For Each cel In rng
If cel.Value <> "" Then '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
lr = Sheets(cel.Value).Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To 7
Sheets(cel.Value).Cells(lr + 1, i).Value = cel.Offset(0, i).Value
Next i
End If '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Next cel
End Sub
saluti
Domenico
Win 10 - Excel 2016 |
| | Post: 12 | Registrato il: 11/07/2012
| Città: MILANO | Età: 50 | Utente Junior | excel 2007 | | OFFLINE | |
|
19/06/2017 18:06 | |
Grazie mille, tutto ok |
|
|