none
Melhoria de Macro RRS feed

  • Pergunta

  • Pessoal, eu preciso inserir a f[ormula cont.se via VBA para uma planilha de 8000 linhas +-.Essa macro está demorando 1minuto e 20 s e isso é muito demorado.Não teria alguma forma mais rápida de fazer isso?

    Sub teste()
       
    For Each Cell In Workbooks("Arquivo.xlsm").Sheets(1).Range("A6:A1048576").SpecialCells(xlCellTypeConstants)
       Cell.Offset(0, 7).Value = Application.WorksheetFunction.CountIf(Workbooks("Tabela.xls").Worksheets(1).Range("a:a"), Cell)
    Next Cell

    End Sub

    segunda-feira, 16 de julho de 2012 11:38

Respostas

  • Você está colocando fórmulas uma a uma com esse código. É possível que o Excel entre todas as fórmulas em todas as células de uma vez. Não tenho como testar, mas experimente usar o código abaixo:

    Sub Exemplo()
        Workbooks("Arquivo.xlsm").Sheets(1).Range("A6:A1048576").SpecialCells(xlCellTypeConstants).Offset(0, 7).FormulaR1C1 = _
          "=COUNTIF('[Tabela.xls]" & Workbooks("Tabela.xls").Worksheets(1).Name & "'!C1,RC[-7]"
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 18 de julho de 2012 20:59
    Moderador