[英]VBA MS Access Row 1 to last column
我试图弄清楚为什么这段代码每隔一次我在 Access 中运行它就会起作用。
我有一个通过访问查询构建的电子表格,然后导出到 Excel。 然后我运行它来做一些格式化/清理。 (假设选择第 1 行中的单元格,将这些值复制到最后一列(第 1 行),然后将它们粘贴到指定的单元格中。
它在第一次运行时完美运行,但如果我再次运行相同的东西,我会收到调试错误。 调试出现在这一行: .Range(ActiveCell, ActiveCell.END(xlUp).END(xlToRight)).Copy
。
确切的错误是“对象变量或未设置块变量”
任何帮助将不胜感激。 谢谢!
Dim appExcel As Excel.Application
Dim myWorkbook As Excel.Workbook
Dim rng as Range
With myWorkbook.Worksheets("qryAutoBuildFile")
myWorkbook.Sheets("qryAutoBuildFile").Activate
Set rng = Range("A1:CU1").Find("Article").Offset(0, 1)
rng.Select
.Range(rng, rng.END(xlUp).END(xlToRight)).Copy
.Range("A1:CU1").Find("Expr1008").PasteSpecial xlPasteValues
.Range("A1").Select
End With
appExcel.CutCopyMode = False
您的代码还有其他几个问题。
Find
某些参数需要明确设置。 看这里Find
返回Nothing
,两次Dim appExcel As Excel.Application
Dim myWorkbook As Excel.Workbook
Dim rng as Excel.Range
Dim rngDest as Excel.Range
With myWorkbook.Worksheets("qryAutoBuildFile")
'.Activate ' use the With block, not really needed
Set rng = .Range("A1:CU1").Find(What:="Article", & _
LookIn:=xlValues, & _
LookAt:=xlWhole, & _
SearchOrder:=xlByRows)
' Adjust to suit your needs. Add MatchByte as well is you require double-byte language support
If rng is Nothing then
' Not found, what now?
Else
Set rng = .Range(rng.Offset(0, 1), rng.END(xlToRight)) ' a bit shorter
Set rngDest = .Range("A1:CU1").Find("Expr1008")
' Don't need to specify Find parameters again, that previously specified onews will be used (unless you want to change them)
If rngDest Is Nothing Then
' Not found, what now?
Else
rngDest.Value2 = rng.Value
End If
End If
End With
Dim appExcel As Excel.Application
Dim myWorkbook As Excel.Workbook
Dim rng as Range
With myWorkbook.Worksheets("qryAutoBuildFile")
myWorkbook.Sheets("qryAutoBuildFile").Activate
Set rng = myWorkbook.Worksheets("qryAutoBuildFile").Range("A1:CU1").Find("Article").Offset(0, 1)
rng.Select
.Range(rng, rng.END(xlUp).END(xlToRight)).Copy
.Range("A1:CU1").Find("Expr1008").PasteSpecial xlPasteValues
.Range("A1").Select
End With
appExcel.CutCopyMode = False
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.