Excel宏 - 对象'_Worksheet'的方法'范围'失败

时间:2017-03-01 04:02:22

标签: excel vba

我目前正在尝试在单个工作簿中创建一个简单的数据输入数据库系统。有2张,一张名为'newEntry',另一张名为'Data'。

我有一个命令按钮,分配了一个宏。模块下Module1中的代码如下:

Application.ScreenUpdating = False

Dim newEntry As Worksheet
Dim Data As Worksheet

Dim lastrowIndex As Double
Dim firstBlank As Double

Set newEntry = Worksheets("newEntry")
Set Data = Worksheets("Data")

lastrowIndex = Data.Range("C2").End(xlDown).Row

firstBlank = lastrowIndex + 1

newEntry.Range("C2:C8").Copy

Data.Range("A" & firstBlank).Value = firstBlank - "2"
Data.Range("B" & firstBlank).PasteSpecial Transpose:=True, SkipBlanks:=False

newEntry.Range("C2:C8").Clear

Application.CutCopyMode = False
Application.ScreenUpdating = True

在测试代码后,我不断收到上述错误。我已经查看了各种其他解决方案,并尝试调整我的代码,但没有一个工作。请帮忙告诉我这里有什么问题。命令按钮位于[newEntry]中,具有要复制值的单元格也是如此。

  

编辑:错误指针指向以下行Data.Range(“A”   &安培; firstBlank).Value = firstBlank - “2”

请告知可能是什么问题!

1 个答案:

答案 0 :(得分:1)

添加一项检查,看看你是否在列C的最后一行,如果C列在第2行下只有空单元格

lastrowIndex = Data.Range("C2").End(xlDown).Row
If lastrowIndex = Data.Rows.Count Then lastrowIndex = 2 '<--| if you hit the last row in the column then set lastrowIndex to "header" row index
firstBlank = lastrowIndex + 1