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
誰かが私はこのエラーを回避し、各テナントのレポートから抽出された値を取得する方法を教えてくださいことはできますか?
どのラインにエラーが表示されますか? – BruceWayne
こんにちはBruce-最初のテナントシートを開き、「 '1004 error':アプリケーション定義またはオブジェクト定義エラー」がポップアップします。たぶん、最初のコード実行から作成されたハイパーリンクを使用する代わりに、adminファイルとレポートファイル拡張子のリスト名から各テナントの料金情報を取得する方法がありますか?ありがとう! –