Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 为什么上传同一个文件会导致错误?_Excel_Vba - Fatal编程技术网

Excel 为什么上传同一个文件会导致错误?

Excel 为什么上传同一个文件会导致错误?,excel,vba,Excel,Vba,我正在做一个工具,需要比较2个文件。但是,我每次选择或上传同一个文件时都会出错。这是我的密码: Dim File1 As String, File2 As String Dim wbCopyF1 As Workbook, wbCopyF2 As Workbook, wbCopyT As Workbook Dim wsCopyF1 As Worksheet, wsCopyF2 As Worksheet Dim LR1 As Long, LR2 As Long Set wbCopyT = Work

我正在做一个工具,需要比较2个文件。但是,我每次选择或上传同一个文件时都会出错。这是我的密码:

Dim File1 As String, File2 As String
Dim wbCopyF1 As Workbook, wbCopyF2 As Workbook, wbCopyT As Workbook
Dim wsCopyF1 As Worksheet, wsCopyF2 As Worksheet
Dim LR1 As Long, LR2 As Long

Set wbCopyT = Workbooks.Add

File1 = txtBoxOld.Text
File2 = txtBoxNew.Text

'Open the path location of selected file
Set wbCopyF1 = Workbooks.Open(File1)
Set wsCopyF1 = wbCopyF1.Sheets(1)
Set wbCopyF2 = Workbooks.Open(File2)
Set wsCopyF2 = wbCopyF2.Sheets(1)

'Filter the application and copy Range from Previous file
LR1 = wsCopyF1.Range("A" & Rows.count).End(xlUp).row
wsCopyF1.Range("A2:D2").AutoFilter Field:=1, Criteria1:=Me.txtBoxApplication, VisibleDropDown:=True
wsCopyF1.Range("A2:D" & LR1).SpecialCells(xlCellTypeVisible).Copy
wbCopyT.Sheets("Sheet1").Range("A1").PasteSpecial
wbCopyF1.Close SaveChanges:=False

'Filter the application and copy Range from Latest file
LR2 = wsCopyF2.Range("A" & Rows.count).End(xlUp).row
wsCopyF2.Range("A2:D2").AutoFilter Field:=1, Criteria1:=Me.txtBoxApplication, VisibleDropDown:=True
wsCopyF2.Range("A2:D" & LR2).SpecialCells(xlCellTypeVisible).Copy
wbCopyT.Sheets("Sheet2").Range("A1").PasteSpecial
wbCopyF2.Close SaveChanges:=False
我犯了这样一个错误:

并且,此代码中指出的错误:
LR1=wsCopyF1.Range(“A”&Rows.count).End(xlUp).row

预期的结果是,无论我只有1个文件,我都可以使用相同的文件而不会遇到任何错误。我的代码有问题吗


谢谢。

您不能在Excel中打开一个文件两次(您甚至不能打开两个同名但位于不同文件夹中的不同文件)。如果您尝试,Excel将关闭并重新打开该文件

您可以通过修改文件(例如,在单元格中写入内容)来检查这一点-Excel将询问您是否要重新打开文件并丢失修改。但是,如果未修改该文件,Excel将重新打开该文件,而无需进一步通知


重新打开该文件将使第一个工作簿变量(
wbCopyF1
)和第一个工作表变量(
wsCopyF1
)的引用无效。如果你访问其中一个变量,你会得到自动化错误。

Hi@fbueckert-我编辑了我的文章。非常感谢。