Valores de repetição - Microsoft Excel [closed]

1

Recebo mensalmente uma planilha grande que exige que até seis instâncias do mesmo ID de cliente sejam inseridas manualmente. Gostaria de projetar um código Macro ou VBA que leve minha lista de clientes e crie uma série de valores repetidos em linhas separadas. Por exemplo, a coluna A contém atualmente o seguinte:

     A
1  Cust1
2  Cust2
3  Cust3

Meu VBA / Macro geraria a seguinte saída:

     A
1   Cust1
2   Cust1
3   Cust1
4   Cust1
5   Cust1
6   Cust1
7   Cust2
8   Cust2
9   Cust2
10  Cust2
11  Cust2
12  Cust2

Obrigado!

    
por Ryan Wilson 19.10.2015 / 19:52

1 resposta

0

Com uma macro usando o VBA:

Public Sub customCustomers()
    Application.ScreenUpdating = False
    sourceSheet = "Sheet1"
    destSheet = "Sheet2"
    initialSrcRow = 1
    initialDstRow = 1
    times = 6
    Dim wkb As Workbook
    Dim wks, wks1 As Worksheet
    Set wkb = ThisWorkbook
    Set wks = wkb.Sheets(sourceSheet)
    Set wks1 = wkb.Sheets(destSheet)
    wks1.Rows.Clear
    seeking = True
    While seeking
        theCustomer = wks.Cells(initialSrcRow, 1)
        If theCustomer <> "" Then
            For i = 1 To times
                wks1.Cells(initialDstRow, 1) = theCustomer
                initialDstRow = initialDstRow + 1
            Next i
            initialSrcRow = initialSrcRow + 1
        Else
            seeking = False
        End If
    Wend
    Application.ScreenUpdating = True
    theMessage = MsgBox("Finished copying customers on Sheet: " & destSheet, vbOKOnly)
End Sub

Abra VBA / Macros, em ThisWorkbook , insira um novo módulo e cole este código no lado direito.

Você pode ajustar as seguintes variáveis para atender às suas necessidades:

  • sourceSheet : O nome da folha original, no meu exemplo, é Folha1 .

  • destSheet : nome da folha de destino, no meu exemplo é Folha2 .

  • initialSrcRow : a primeira linha da planilha de origem.

  • initialDstRow : primeira linha na planilha de destino.

  • times : número de vezes que o cliente deve ser repetido no folha de destino.

por 20.10.2015 / 11:07