vba - 命令按钮子对象错误
问题描述
我正在尝试编写一个代码,用户单击按钮并从一个 Excel 文件中获取当天的数据,然后自动复制并转置到另一个文件中。调试器说我在代码的开头有一个错误Compile error: Object required
- 在该Public Sub CommandButton1_Click()
部分中。我是 VBA 新手,我不知道发生了什么。我已经尝试搜索有关 Sub 错误的答案,但找不到与我的问题类似的任何内容。
提前致谢!这是我目前的代码:
Public Sub CommandButton1_Click()
'Variables
Sheets("Today_Data").Select
Dim LastRow As Long, nRow As Long, eRow As Long, eRow2 As Long, eRow3 As Long
Set LastRow = SelectedSheets.Range("A" & Rows.Count).End(xlUp).Row
'''verify where is the last row updated today'
For nRow = 5 To LastRow Step 1
If Cells(nRow, 1).Value = Date Then
'''copy and paste only the cells that have been updated today
''Copy and paste columns 1-4 WITHOUT transposing
SelectedSheets.Range(SelectedSheets.Cells(nRow, 1), SelectedSheets.Cells(nRow, 2), SelectedSheets.Cells(nRow, 3), SelectedSheets.Cells(nRow, 4)).Select
Selection.Copy
'verify where is the next empty row on the destiny sheet to paste
Set eRow = Worksheets("Test").Range("A" & Rows.Count).End(xlUp).Row
SelectedSheets.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks_:=False, Transpose:=False, Destination:=Worksheets("Test").Range(Cells(eRow, 1), Cells(eRow, 2), Cells(eRow, 3), Cells(eRow, 4))
''Copy and paste odd columns 7-19 transposing
SelectedSheets.Range(ActiveSheet.Cells(nRow, 7), SelectedSheets.Cells(nRow, 9), SelectedSheets.Cells(nRow, 11), SelectedSheets.Cells(nRow, 13), SelectedSheets.Cells(nRow, 15), SelectedSheets.Cells(nRow, 17), SelectedSheets.Cells(nRow, 19)).Select
Application.CutCopyMode = False
Selection.Copy
'verify where is the next empty row on the destiny sheet to paste
Set eRow2 = Worksheets("Test").Range("A" & Rows.Count).End(xlUp).Row
SelectedSheets.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks_:=False, Transpose:=True, Destination:=Worksheets("Test").Range(Cells(eRow2, 7), Cells(eRow2, 9), Cells(eRow2, 11), Cells(eRow2, 13), Cells(eRow2, 15), Cells(eRow2, 17), Cells(eRow2, 19))
''Copy and paste even columns 6-20 transposing
SelectedSheets.Range(ActiveSheet.Cells(nRow, 6), SelectedSheets.Cells(nRow, 8), SelectedSheets.Cells(nRow, 10), SelectedSheets.Cells(nRow, 12), SelectedSheets.Cells(nRow, 14), SelectedSheets.Cells(nRow, 16), SelectedSheets.Cells(nRow, 18), SelectedSheets.Cells(nRow, 20)).Select
Application.CutCopyMode = False
Selection.Copy
'verify where is the next empty row on the destiny sheet to paste
Set eRow3 = Worksheets("Test").Range("A" & Rows.Count).End(xlUp).Row
SelectedSheets.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks_:=False, Transpose:=True, Destination:=Worksheets("Test").Range(Cells(eRow3, 6), Cells(eRow3, 8), Cells(eRow3, 10), Cells(eRow3, 12), Cells(eRow3, 14), Cells(eRow3, 16), Cells(eRow3, 18), Cells(eRow3, 20))
End If
Next
End Sub
解决方案
推荐阅读
- python - 将图像重新整形(展平)成列向量排列
- windows - 使用 Powershell 获取通知列表\文本
- database - 您如何登录到服务器上的 TigerGraph 帐户?
- node.js - Node.JS 的 AMQP 高级客户端 - 寻找“最佳选择”
- c# - c#如何提取具有特定扩展名的文件路径并检索其父文件夹名称
- ruby-on-rails - ActionText 的非图像附件问题
- javascript - 在模板中对 mustache 多个参数调用方法
- c# - List 中的 FromSqlRaw 参数
这对sql注入是安全的 - oracle - ORA-29283,macOS Sierra,Oracle SQL Developer,文件操作无效
- c - 如何在 Gnome 的 alt-tab 视图中显示 XCB 窗口的名称?