gpt4 book ai didi

vba - Excel VBA - 第一行抛出 "Argument not optional"

转载 作者:行者123 更新时间:2023-12-02 13:30:50 25 4
gpt4 key购买 nike

我正在尝试开发一个子程序,它一次从一个工作表的同一单元格中提取数据,并将其复制到名为“摘要”的工作表中,然后将其粘贴以创建值表。但是,我收到错误“参数不可选”,并且第一行突出显示为问题(带有 Sub SummaryAssemble() 的行),但似乎没有原因,因为没有必要将任何内容传递到子例程中。

Sub SummaryAssemble()

Dim i As Integer

Dim x As Integer

x = Sheets.Count


For i = 3 To x Step 1

Sheets(i).Activate
' Copy and paste the value into sheet where A
' Range.Select($A
' First copy value for ATRT 2014 (cell B4)
Range.Select ("B4")
Selection.Copy
Sheets(Summary).Activate
' Select Column B Row i (2, i)
Range(2, i).Select
ActiveCell.Paste

Sheets(i).Activate

Sheets(ActiveSheet.Index + 1).Activate
Next i
End Sub

最佳答案

问题其实出在这一行

Range.Select ("B4")

应该更接近,

Range("B4").Select

其他一些问题

Sub SummaryAssemble()
Dim i As Long, x As Long

x = Sheets.Count

For i = 3 To x Step 1
' Copy and paste the value into sheet where A
' First copy value for ATRT 2014 (cell B4)
Sheets(i).Range("B4").Copy _
Destination:=Sheets("Summary").Cells(2, i)
'or as a direct value transfer (PasteSpecial Paste:=xlvalues)
'Sheets("Summary").Cells(2, i) = Sheets(i).Range("B4").Value
Next i
End Sub

我相信您对 Summary 的使用应该被引用为文字字符串,并且无需为复制和粘贴操作选择某些内容。最后,您混合并不匹配 Range object 的语法。和一个Range.Cells property ;例如它是 Range("B4")Cells(2, i)

<小时/>

参见How to avoid using Select in Excel VBA macros了解更多摆脱依赖 select 和 activate 来实现目标的方法。

关于vba - Excel VBA - 第一行抛出 "Argument not optional",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com