私が抱えている問題は、既知の範囲をあるワークブックから別のワークブックにコピーするときに空白を描画していることですが、最後の行の後に --- しかしオフセット (3,0) としてです。これはコード全体であり、実際には最初の 3/4 を無視することができます....そして、範囲を設定するところから始めます。範囲を設定してそこから行オフセットを行うと思いますが、明らかに正しく行っていません。
これは私にエラーを与える行です: Set rngFinalRange ... 間違っていることはわかっていますが、行き詰まっています。考え?ありがとうございました!
Option Explicit
Sub TEST()
Dim auditfolder As String
Dim dumpfile As String
Dim FSO As Object
Dim fldstart As Object
Dim wbkAudit As Workbook
Dim wbkdump As Workbook
Dim rngDumpCols As Range
Dim rngDumpFullRange As Range
Dim strAuditName As String
Dim strDumpName As String
Dim fl As Object
Dim rngAuditFileRows As Range
Dim rngAuditCols As Range
Dim rngFinalRange As Range
Dim rngauditrows As Range
Dim lastrow as range
Set FSO = CreateObject("scripting.FileSystemObject")
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = "\\networkpath"
.AllowMultiSelect = False
If .Show <> -1 Then
MsgBox "No file selected. Exiting."
Exit Sub
Else
auditfolder = .SelectedItems(1)
Set fldstart = FSO.getfolder(auditfolder)
End If
End With
For Each fl In fldstart.Files
If Right(fl.name, 3) = "xls" Then
If InStr(fl.name, "5ESS") Then
strAuditName = fl.name
ElseIf InStr(fl.name, "SelectDataDump") Then
strDumpName = fl.name
Else
MsgBox "Missing either the audit or selectdatadump file"
End If
ElseIf Right(fl.name, 4) = "xlsx" Then
If InStr(fl.name, "5ESS") Then
strAuditName = fl.name
ElseIf InStr(fl.name, "SelectDataDump") Then
strDumpName = fl.name
Else
MsgBox "Missing either the audit or selectdatadump file"
End If
End If
Next fl
Application.ScreenUpdating = False
Set wbkdump = Workbooks.Open(strDumpName)
Set rngDumpCols = wbkdump.Sheets(1).Cells.Find(what:="*", After:=wbkdump.Sheets(1).Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
Set rngDumpFullRange = wbkdump.Sheets(1).Range("A1", rngDumpCols.Address)
Set wbkAudit = Workbooks.Open(strAuditName)
Set rngAuditCols = wbkAudit.Sheets(1).Cells.Find(what:="*", After:=wbkAudit.Sheets(1).Cells(1, 1), LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False)
Set rngauditrows = wbkAudit.Sheets(1).Range("A1", rngAuditCols.Offset(0, -4).Address)
lastrow = wbkAudit.Sheets(1).Cells(65536, rngAuditCols.Column).End(xlUp).Row
Set rngFinalRange = wbkAudit.Sheets(1).Range(lastrow.Offset(3, 0).Row)
rngFinalRange.Value = rngDumpFullRange.Value
wbkAudit.Sheets(1).Columns.AutoFit
wbkAudit.save
MsgBox "Processing Complete!"
End Sub