2017-06-29 5 views
0

複数のテナントから送信された情報を含む2つのフォルダがあります。 1つはレポート(Excelファイル)を含み、もう1つは宣言(pdfs)を含みます。私はすべてのテナントを列挙する優れた管理ファイルを作成しました。次のVBAコードを使用して、レポートまたは宣言を送信してからハイパーリンクするかどうかを示す別の列があります。VBA Excel - マスター管理でハイパーリンクされたファイルからセルを取得する方法

Sub IfFileInFolder() 

Dim folderPath As String 
Dim folderPath2 As String 
Dim Ereports As Range, cell As Range 


folderPath = "G:\Programs\Ereports\2017\Reports\" 

folderPath2 = "G:\Programs\Declarations\" 

With Sheets("Tenant Log") 
    Set tenant = .Range("B5", .Cells(.Rows.Count, "B").End(xlUp)) 
End With 

For Each cell In tenant 
    If Dir(folderPath & cell.Value & "-report.xlsx") <> "" Then 
     cell.Parent.Hyperlinks.Add Anchor:=cell.Offset(0, 14), Address:=folderPath & cell.Value2 & "-report.xlsx" 
     cell.Offset(0, 14).Value = "REPORTED" 

    ElseIf Dir(folderPath2 & cell.Value & "-declaration.pdf") <> "" Then 
     cell.Parent.Hyperlinks.Add Anchor:=cell.Offset(0, 14), Address:=folderPath2 & cell.Value2 & "-declaration.pdf" 
     cell.Offset(0, 14).Value = "DECLARED" 

    Else 
     cell.Offset(0, 14).Value = "INCOMPLETE" 

    End If 
Next 

End Sub 

ただし、レポートのために、私はそれが私のadminファイルに「公表」一覧表示場所の横にコピーして貼り付けるにしたいお金の価値があります。私は数を取得するために、次のコード(と多くのバリエーション)を試してみましたが、実行時エラー '1004'を受け取ります。

Sub retrieve() 

With Sheets("Tenant Log") 
Set fee = .Range("P5", .Cells(.Rows.Count, "P").End(xlUp)) 
End With 

For Each cell In fee 
If cell = "REPORTED" Then 
cell.Select 
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True 
Sheets("4. Estimated fees").Range("I15").Select 
Selection.Copy 
ActiveWindow.Close 
cell.Offset(0, 2).PasteSpecial Format:="Unicode Text", Link:=False, _ 
    DisplayAsIcon:=False, NoHTMLFormatting:=True 
Else 
    cell.Value2 = "N/A" 
End If 
Next 

End Sub 

誰かが私はこのエラーを回避し、各テナントのレポートから抽出された値を取得する方法を教えてくださいことはできますか?

+0

どのラインにエラーが表示されますか? – BruceWayne

+0

こんにちはBruce-最初のテナントシートを開き、「 '1004 error':アプリケーション定義またはオブジェクト定義エラー」がポップアップします。たぶん、最初のコード実行から作成されたハイパーリンクを使用する代わりに、adminファイルとレポートファイル拡張子のリスト名から各テナントの料金情報を取得する方法がありますか?ありがとう! –

答えて

0

マクロを何らかの理由で管理ファイルの代わりにマクロシートに移動する必要がありました。

関連する問題