我是vba的新手,我不明白为什么我会收到400错误。
我有这个清单。当我按下按钮时,必须删除此列表,您必须选择一个文件,然后新列表将从此文件复制到列表中。列表总是相同的列数(A-J),长度(行)可变,因此在列K中我可以根据另一张表中的数据放置一个公式来测试列表中的某些数据。
问题在于vba-line
.Sheets("Blad1").UsedRange.Copy LijstBP.Sheets("Blad1").Range("A1")
为了测试我的代码,我在工作表“Blad2”上使用了一个列表。我的代码适用于我正在尝试复制的所有列表。 (当然我必须将代码更改为“Blad2”) 现在,新列表位于工作表“Blad1”上。我只将“Blad2”改为“Blad1”,并且错误发生......
有人可以传播这个吗?谢谢。 我的整个代码是:
Sub ImporteerData()
Dim LijstBP As Workbook
Dim Bron As Workbook
Set LijstBP = ActiveWorkbook
Call WisHuidigeLijst
With Application.FileDialog(msoFileDialogOpen)
.Filters.Clear
.Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa"
.AllowMultiSelect = False
.Show
If .SelectedItems.Count > 0 Then
Workbooks.Open .SelectedItems(1)
With ActiveWorkbook
.Sheets("Blad1").UsedRange.Copy LijstBP.Sheets("Blad1").Range("A1")
.Close False
End With
End If
End With
'Formule kopiëren
Set LijstBP = ActiveWorkbook
Range("K3").FillDown
End Sub
Private Sub WisHuidigeLijst()
Dim laatsteRij As Integer
laatsteRij = Cells(3, "A").End(xlDown).Row
ActiveSheet.Range("A1").Select
Range("A1:J" & laatsteRij).Value = ""
End Sub
答案 0 :(得分:0)
我刚刚解决了这个问题:我的同事,他制作了我需要导入的列表,做错了什么:他从A-I列而不是A-J创建了一个列表。通过从A-J创建一个新列表,整个过程都有效。我为这种愚蠢而烦恼道歉:-)上周,我没有注意到这一点。感谢所有人试图帮助我。 -