Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Suggerimenti macro ripeti fogli

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Suggerimenti macro ripeti fogli

Postdi Blu_ice » 23/11/22 12:12

Ciao

vorrei replicare e suddividere con una macro un lavoro.
In input abbiamo le scheda master preparate, e le schede type_a e Type_b di output con la prima riga preparata

Se esistono valori in tabella master type_A, vorrei popolasse la scheda" type_A" come da esempio
Se esistono valori in tabella master type_B, vorrei popolasse la scheda" type_B"come da esempio

Nello specifico sella scheda Type_A , la macro repliceherà il pippo per tre righe, con il valore number[0] sull'ultima riga come da esempio della colonna C. Il campo in colonna B è sempre standard

riuscite gentilmente a darmi una mano sullo script https://we.tl/t-21pvid7fGM
Blu_ice
Newbie
 
Post: 4
Iscritto il: 06/06/19 17:57

Sponsor
 

Re: Suggerimenti macro ripeti fogli

Postdi Anthony47 » 23/11/22 18:13

Una macro compie delle operazioni impostate nel codice, e "come da esempio" non e' proprio una indicazione precisa di quel che serve

Comunque, per quello che ho capito prova questa macro:
Codice: Seleziona tutto
Sub PrecisoPreciso()
Dim LArr(1 To 5)
Dim NextR As Long, deSh As String
Dim I As Long, ppArr, J As Long
'
Set LArr(1) = Sheets("master").Range("A2")      '<<< La prima posizione sotto cui guardare
Set LArr(2) = Sheets("master").Range("E2")      '<<< La seconda posizione sotto cui guardare
ppArr = Array("name", "number", "id")
'
For I = 1 To UBound(LArr)
    If Not IsEmpty(LArr(I)) Then
        With LArr(I)
            For J = 1 To LArr(I).Offset(1000, 0).End(xlUp).Row
                If LArr(I).Cells(J, 1) <> "" Then
                    deSh = Trim(LArr(I).Cells(J, 2))
                    NextR = Sheets(deSh).Cells(Rows.Count, "A").End(xlUp).Row + 2
                    Sheets(deSh).Cells(NextR, 1).Resize(UBound(ppArr) + 1, 1).Value = LArr(I).Cells(J, 1)
                    Sheets(deSh).Cells(NextR, 2).Resize(UBound(ppArr) + 1, 1).Value = Application.WorksheetFunction.Transpose(ppArr)
                    If LArr(I).Cells(J, 3) <> "" Then
                        Sheets(deSh).Cells(NextR + 2, 3).Value = LArr(I).Cells(J, 3)
                    End If
                End If
            Next J
        End With
    End If
Next I
Beep
End Sub

Va messa in un modulo standard del vba; le righe marcate <<< le ho configurate "come da esempio", eventualmente modificale
Poi quando la avvii fa quello che ho capito :D

Fai sapere, ma se non funziona come pensavi allora devi descrivere "meglio" cosa pensavi...
Avatar utente
Anthony47
Moderatore
 
Post: 18602
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Suggerimenti macro ripeti fogli":


Chi c’è in linea

Visitano il forum: Bing [Bot] e 35 ospiti