Riportare/Copiare riga solo se corrisponde ad un mese specifico

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
P.Belli
00venerdì 16 giugno 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?!
alfrimpa
00venerdì 16 giugno 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.....
P.Belli
00venerdì 16 giugno 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
alfrimpa
00venerdì 16 giugno 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.
dodo47
00venerdì 16 giugno 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



alfrimpa
00venerdì 16 giugno 2017 18:58
E non è solo quello il problema.
P.Belli
00lunedì 19 giugno 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.
dodo47
00lunedì 19 giugno 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
P.Belli
00lunedì 19 giugno 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...
dodo47
00lunedì 19 giugno 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
P.Belli
00lunedì 19 giugno 2017 18:06
Grazie mille, tutto ok
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 08:04.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com