Pessoal, estou criando uma macro para pesquisar determinados dados de uma planilha em um certo diretório, sem precisar abri-la.
Segue o código abaixo.
Sub contab()
Dim str, sum1, Foldername As String
Dim str2 As String
Dim geracao As Double
Dim i, rlast As Integer
Foldername = Workbooks("CONTABILIZAÇÃO1.xlsm").Sheets("CONTROLE").Cells(1, 2)
Workbooks("CONTABILIZAÇÃO1.xlsm").Sheets("CONTROLE").Cells(4, 2) = Foldername
i = 6
Do
str2 = GetInfoFromClosedFile(Foldername, "SUM001.1 – Sumário.xls", "SUM001.1 – Sumário", "A" & i) ' <<<========= ERRO: TIPOS INCOMPATÍVEIS
Workbooks("CONTABILIZAÇÃO1.xlsm").Sheets("CONTROLE").Cells(i, 3) = str2
If str2 = "LIGHT ENERGIA" Then
str = GetInfoFromClosedFile(Foldername, "SUM001.1 – Sumário.xls", "SUM001.1 – Sumário", "B" & i)
If (InStr(1, str, "TGG a,s,r,w - (MWh)", 1)) <> 0 Then
geracao = GetInfoFromClosedFile(Foldername, "SUM001.1 – Sumário.xls", "SUM001.1 – Sumário", "C" & i)
Workbooks("CONTABILIZAÇÃO1.xlsm").Sheets("CONTROLE").Cells(6, 2) = geracao
End If
End If
i = i + 1
If i > 100 Then Exit Do
Loop
End Sub
Private Function GetInfoFromClosedFile(ByVal wbPath As String, _
wbName As String, _
wsName As String, _
cellRef As String) As Variant
Dim arg As String
GetInfoFromClosedFile = ""
If Right(wbPath, 1) <> "" Then wbPath = wbPath & ""
If Dir(wbPath & "" & wbName) = "" Then Exit Function 'If Dir(wbPath & "" & wbName) = "" Then Exit Function
arg = "'" & wbPath & "[" & wbName & "]" & _
wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1)
On Error Resume Next
GetInfoFromClosedFile = ExecuteExcel4Macro(arg)
Porém, como demonstrado acima, a planilha está dando um erro de tipos incompatíveis e eu não estou sabendo solucionar.
Alguém poderia me ajudar?
Abraços!
Postado : 19/09/2013 8:02 am