私はデジタルファイルのセットで監査を実行していますが、私が書いた方法はかなり複雑なので多分誰かが私を助けることができると思います...シート上のセルをアクティブ化せずに参照するにはどうすればよいですか?
私が理解できないのはなぜactivesheet.cells問題なく動作していますが、ワークブック(「Master List」)ワークシート(「Master Shipped」)のセルを参照しようとすると、エラーが表示されます。私は完全なファイルの場所で試してみました、私はworksheets.cellsで試してみました、私はsheets.cellsで試してみました、私は変数をワークシートにしようとしました、と私はそれを働かせることができません。
変数の名前はどこにあるのですか?if文では機能しません。なぜなら、それぞれ10回ずつシートをアクティブにしたくないからですループ。
Application.ScreenUpdating = False
LR = Cells(Rows.Count, 2).End(xlUp).Row
Dim AuditSheet As Worksheet, Mastersheet As Worksheet
Set AuditSheet = ThisWorkbook.Sheets("Audit")
Set Mastersheet = ThisWorkbook.Sheets("Master Shipped")
For r = 3 To LR
FpathBOL = "U:\Warehouse Associate\Shipped Orders 2016\Bill of Lading\"
fnamebol = Mastersheet.Cells(r, 21).Text
FNamePOD = Left(Mastersheet.Cells(r, 21).Text, (Len(Mastersheet.Cells(r, 21)) - 8))
FpathFile = "V:\LVA Files\" & Mastersheet.Cells(r, 4).Value & "\Line " & Mastersheet.Cells(r, 10).Value & "\"
FnameFile = Mastersheet.Cells(r, 4).Value & "-"
BOL = FpathBOL & "\" & fnamebol & ".pdf"
POD = FpathBOL & FNamePOD & "POD.pdf"
File1 = FpathFile & FnameFile & "PO.pdf"
File2 = FpathFile & FnameFile & "EIC PO.pdf"
File3 = FpathFile & FnameFile & "EDI 855.pdf"
File4 = FpathFile & FnameFile & "EDI 870.pdf"
File5 = FpathFile & FnameFile & "VENDOR INVOICE.pdf"
File6 = FpathFile & FnameFile & "EIC INVOICE.pdf"
File7 = FpathFile & FnameFile & "PCGR.pdf"
File8 = FpathFile & FnameFile & "PL.pdf"
File9 = FpathFile & FnameFile & "EDI.pdf"
If Dir(File1) = "" Then
Workbooks("Master List.xlsm").Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File1
End If
If Dir(File2) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File2
End If
If Dir(File3) = "" And Dir(File9) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File3
End If
If Dir(File4) = "" And Dir(File9) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File4
End If
If Dir(File5) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File5
End If
If Dir(File6) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File6
End If
If Dir(File7) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File7
End If
If Dir(File8) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = File8
End If
If Dir(BOL) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = FnameFile & BOL
End If
If Dir(POD) = "" Then
Worksheets("Audit").Activate
ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = FnameFile & POD
End If
Next r
Application.ScreenUpdating = True
End Sub
読む、学び、そして愛:[ '.Select' /' .Activate'を使用しないようにする方法](https://stackoverflow.com/questions/10714251/how-to-avoid-using-select -in-excel-vba-macros)である。 :D – BruceWayne
構文は 'Workbooks(" Master List.xlsm ")です。シート(" Audit ")。セル' A1'を変更するセル(1,1) '。あなたは 'Workbooks(" Master List.xlsm ")を使うこともできます。シート(" Audit ")Range(" A1 ")' – user1274820