Excel 正在将发票数据复制到销售帐簿,宏不工作…Aaargh
正在尝试将“发票”数据保存到excel工作簿中的“销售手册”中。我的代码不起作用。任何帮助都是了不起的。Excel表示无法识别标识符…但为什么?它是!不是吗。。。这是密码- 注意-下面的代码有效。问题是我的工作表名称末尾有一个“空格”,因此标识符无法识别它。自由流Excel 正在将发票数据复制到销售帐簿,宏不工作…Aaargh,excel,vba,Excel,Vba,正在尝试将“发票”数据保存到excel工作簿中的“销售手册”中。我的代码不起作用。任何帮助都是了不起的。Excel表示无法识别标识符…但为什么?它是!不是吗。。。这是密码- 注意-下面的代码有效。问题是我的工作表名称末尾有一个“空格”,因此标识符无法识别它。自由流 Sub UpdateSalesBook() Dim rng As Range Dim i As Long Dim a As Long Dim rng_dest As Range Application.Screen
Sub UpdateSalesBook()
Dim rng As Range
Dim i As Long
Dim a As Long
Dim rng_dest As Range
Application.ScreenUpdating = False
i = 1
Set rng_dest = Sheets("Sales Book").Range("D:F")
' Find first empty row in columns D:G on sheet Sales Book
Do Until WorksheetFunction.CountA(rng_dest.Rows(i)) = 0
i = i + 1
Loop
'Copy range A23:D27 on sheet Invoice to Variant array
**Set rng = Sheets("Invoice").Range("A23:D27")** 'This is what excel doesn't recognise
' Copy rows containing values to sheet Sales Book
For a = 1 To rng.Rows.Count
If WorksheetFunction.CountA(rng.Rows(a)) <> 0 Then
rng_dest.Rows(i).Value = rng.Rows(a).Value
'Copy Invoice number
Sheets("Sales Book").Range("A" & i).Value = Sheets("Invoice").Range("C18").Value
'Copy Date
Sheets("Sales Book").Range("B" & i).Value = Sheets("Invoice").Range("C15").Value
'Copy Company name
Sheets("Sales Book").Range("C" & i).Value = Sheets("Invoice").Range("A7").Value
i = i + 1
End If
Next a
Application.ScreenUpdating = True
End Sub
Sub-UpdateSalesBook()
变暗rng As范围
我想我会坚持多久
暗淡如长
Dim rng_dest As范围
Application.ScreenUpdating=False
i=1
Set rng_dest=图纸(“销售账簿”)。范围(“D:F”)
'在活页销售手册的D:G列中查找第一个空行
直到工作表function.CountA(rng_dest.Rows(i))=0
i=i+1
环
'将表上发票A23:D27范围复制到变量数组
**设置rng=Sheets(“发票”)。范围(“A23:D27”)***这是excel无法识别的
'将包含值的行复制到工作表销售帐簿
对于a=1到rng.Rows.Count
如果工作表function.CountA(rng.Rows(a))为0,则
rng_dest.Rows(i).Value=rng.Rows(a).Value
'复制发票编号
表格(“销售账簿”)。范围(“A”和i)。价值=表格(“发票”)。范围(“C18”)。价值
“复制日期
图纸(“销售账簿”)。范围(“B”和i)。价值=图纸(“发票”)。范围(“C15”)。价值
'复制公司名称
表格(“销售账簿”)。范围(“C”和i)。价值=表格(“发票”)。范围(“A7”)。价值
i=i+1
如果结束
下一个
Application.ScreenUpdating=True
端接头
哪行代码失败?您是否尝试过使用工作表(“发票”)。范围
等?或者完全限定为ActiveWorkBook.Worksheets(“发票”).Range
等?正如@MiguelH所说,这些问题中的大多数都是因为引用不限定。我首先将您的SHE(即,Dim oWS)限定为工作表:Set oWS=Thisworkbook.Worksheets(“发票”)
。现在您可以尝试:Set rng=oWS.Range(“A23:D27”)
你的代码对我有效。这是一个非常奇怪的错误,出现在你突出显示的行上。可能行中有一些奇怪的不可打印字符-你可以尝试删除并重新键入它。@Zac你能告诉我这将在代码块中的什么位置吗?顶部有其他Dim,但集合在哪里?在哪一行代码上失败?您是否尝试过使用工作表(“发票”).Range
等?或者完全限定为活动工作簿。工作表(“发票”).Range
等?正如@MiguelH所说,大多数问题都是因为引用不合格。我首先要限定您的SHE(即将oWS设置为工作表:Set oWS=Thisworkbook.Worksheet(“发票”)
。现在您可以尝试:设置rng=oWS.Range(“A23:D27”)
你的代码对我有效。这是一个非常奇怪的错误,出现在你突出显示的行上。可能行中有一些奇怪的不可打印字符-你可以尝试删除并重新键入它。@Zac你能告诉我这将在代码块中的什么位置吗?在顶部加上其他Dim,但是集合在哪里?