VBA中错误的参数数量或无效的属性分配

我收到错误消息

错误的参数数量或无效的属性分配

在这一行:

Set hello = Range("O" & row, "Q" & row, "W" & row) 

但是,macrosSet hello = Range("O" & row)平稳运行。 所以这意味着这个macros可以用一个单元格select,但是在多个单元格select时会出错。 我无法弄清楚我的macros中哪个设置导致这个错误。 感谢你的帮助。

 Sub ImportDatafromotherworksheet() Dim wkbCrntWorkBook As Workbook Dim wkbSourceBook As Workbook Dim rngSourceRange As Range Dim rngDestination As Range Dim row As Integer Dim hello As Range Set wkbCrntWorkBook = ActiveWorkbook With Application.FileDialog(msoFileDialogOpen) .Filters.Clear .Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa" .AllowMultiSelect = False .Show If .SelectedItems.Count > 0 Then Workbooks.Open .SelectedItems(1) Set wkbSourceBook = ActiveWorkbook Set rngSourceRange = Application.InputBox(Prompt:="Select source row", Title:="Source Range", Default:="press Ctrl for multiple selection", Type:=8) row = rngSourceRange.row Set hello = Range("O" & row, "Q" & row, "W" & row) wkbCrntWorkBook.Activate Set rngDestination = Application.InputBox(Prompt:="Select destination cell", Title:="Select Destination", Default:="A1", Type:=8) hello.Copy rngDestination rngDestination.CurrentRegion.EntireColumn.AutoFit wkbSourceBook.Close False End If End With End Sub 

你试图结束的应该是(例如) Range("O5,Q5,W5")

 Set hello = Range("O" & row & ",Q" & row & ",W" & row) 

整个事情是一个string,而不是三个。

使用.Union也可以。

 Set hello = Application.Union(Range("O" & row), Range("Q" & row), Range("W" & row)) 

不知道是否比其他任何解决scheme都好。