要复制的Excel VBA
我的任务是用一个输入表单在Excel中创建一个可搜索的数据库。我需要一个宏将数据从输入表单移动到数据库工作表,将活动单元格向下偏移1行,并仅复制值(而不是格式) 每次尝试运行宏时,代码中都会出现运行时错误。我没有VB或VBA的经验;请告诉我这有什么问题要复制的Excel VBA,excel,copy,vba,Excel,Copy,Vba,我的任务是用一个输入表单在Excel中创建一个可搜索的数据库。我需要一个宏将数据从输入表单移动到数据库工作表,将活动单元格向下偏移1行,并仅复制值(而不是格式) 每次尝试运行宏时,代码中都会出现运行时错误。我没有VB或VBA的经验;请告诉我这有什么问题 Sheets("Database").Select 'Navigates to Database worksheet If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Sheets("Database").Select 'Navigates to Database worksheet
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If 'Clears filters
Sheets("Entry Form").Select 'Navigates back to Entry Form worksheet
Range("E10:L10").Select ' select date, period, and data
Selection.Copy
Sheets("datatable").Select ' navigate to datatable tab
Range("A1").Select
Selection.End(xlDown).Select ' ctrl-down to last occupied row,
ActiveCell.Offset(1, 0).Select ' then one more to first blank row
Selection.PasteSpecial Paste:=xlPasteValues
'Pastes data as values only into the Database worksheet
Sheets("Entry Form").Select 'Navigates to Entry Form worksheet
Application.CutCopyMode = False 'clears copy data from clipboard
Range("E10, L10").Select
Selection.ClearContents 'Clears data from drop down selections
Range("E10").Select 'Returns selection back to Date entry box
它位于下一页的最底部,并给出一个1004错误。如果要使用
xlDown
,您需要的不仅仅是A1中的列标签。列A中必须至少还有一个值,否则将遍历到工作表的底部。通常最好从工作表底部向上看,然后向下偏移一行
With Sheets("Database") 'Primarily use Database worksheet
If .FilterMode Then .ShowAllData
With .Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) 'look from bottom up then down 1 row
'direct value transfer is faster than Copy, Paste Special, Values
.Cells.Resize(1, 8) = Sheets("Entry Form").Range("E10:L10").Value
End With
End With
With Sheets("Entry Form") 'Primarily use Entry Form worksheet
.Range("E10:L10").ClearContents 'Clears data from drop down selections
.Range("E10").Select 'Returns selection back to Date entry box
End With
这利用来控制哪个工作表受到关注。有关摆脱依赖选择和激活来实现目标的更多方法,请参阅。数据表上有多少行已占用?如果只有一行被占用,则单元格A1中的Ctrl Down(或其等效宏)将带您进入工作表中的最后一行。一旦你有两行或更多行,它就会像预期的那样工作。我已经试过了,但它也不工作。我仍然会得到相同的错误和它的突出显示范围(“A1”)。选择作为问题确定,这样就工作了。有没有人能解释一下每一个元素的含义,或者告诉我在什么地方我可以学会自己制作这些元素?