locked
Ajuda em Fórmula RRS feed

  • Pergunta

  • Boa Tarde.

     

    Estou tentando inserir uma fórmula via vba no excel porém não estou conseguindo. Gostaria que minha formula inicia-se com um valor e depois fosse concatenando outras células, como o exemplo abaixo:

    Célula B2 = 30

    Célula C2 = 40

    Célula A1 = 99;30;40

     

    O que consegui no meu código foi:

    for linha = 2 to 10

       sheets(1).cells(linha,7).formula = "=99 & "";"" & B & i & ";" & C & i "

    next

     

    porém, ao invés de ele apresentar como resultado -> =99;30;40, ele joga toda a formula como um texto: =99 & ";" & B & i & ";" & C & i

     

    Alguém sabe como eu faço para inserir este fórmula para concatenar células e valores???

     

    Desde já agradeço.

     

    Rafael

    sexta-feira, 30 de novembro de 2007 14:52

Todas as Respostas

  • Use:

    Cells(12, 2).Value = Cells(12, 2).Value & Cells(lngRow, 2).Value

     

    Code Block

    Sub Concat()
    Dim lngRow As Long

        'limpa as celulas
        Range(Cells(1, 2), Cells(12, 2)).Clear

        'preenche celulas para teste
        For lngRow = 1 To 10
            Cells(lngRow, 2).Value = Chr((lngRow * -1) + 52)
        Next lngRow

        lngRow = 1

        'Se deseja so concatenar os valores
        Do While Cells(lngRow, 2) <> ""
            Cells(12, 2).Value = Cells(12, 2).Value & Cells(lngRow, 2).Value
            lngRow = lngRow + 1
        Loop

        'Se deseja so concatenar os valores
        Cells(12, 2).FormulaR1C1 = "=R[-" & lngRow & "]C"
        lngRow = lngRow - 1

        'Se deseja so concatenar a formula
        Do While lngRow > 0
            Cells(12, 2).FormulaR1C1 = Cells(12, 2).FormulaR1C1 & "&R[-" & lngRow & "]C"
            lngRow = lngRow - 1
        Loop
        '----------------------------------------------------------
        Columns.AutoFit
    End Sub

     

     

     

    Abs,
    sexta-feira, 30 de novembro de 2007 19:23
  • Oi Rafael,

     

    é possível fazer sem VBA, usando a função Concatenar. Exemplo:

     

    =CONCATENAR(99; SE(A2<>"";";" & A2;"");SE(A3<>"";";" & A3;"");SE(A4<>"";";" & A4;"");SE(A5<>"";";" & A5;"");SE(A6<>"";";" & A6;"");SE(A7<>"";";" & A7;"");SE(A8<

     

    sábado, 1 de dezembro de 2007 00:39
    Moderador