我的最終目標是讓用戶從下拉列表中選擇想要複製的範圍,然後單擊「添加」按鈕時,它將粘貼到表格。VBA .range(「公式可以在這裏?」)
我的範圍以WorkSheet_RangeName的方式命名,因此例如「Oil Furnace」的部分將具有名爲「DataInput_OilFurnace」的範圍。因此,我所有的範圍將以「DataInput_」開頭,並且需要刪除空格。
Sub AddExtraSection()
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Dim addSection As Range
Set copySheet = Worksheets("Data Input")
Set pasteSheet = Worksheets("Add Extra Section")
Set addSection = Worksheets("Add Extra Section").Range("C3").Formula = _
"=""DataInput_""&SUBSTITUTE($C$3, "" "", """")"
copySheet.range(addSection).Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial
End Sub
如果我不能用一個公式,可我有範圍的名稱是特定細胞(如,我有一個與該範圍的名稱來填充我的下拉下面的公式)?
Set addSection = Worksheets("Add Extra Section").ActiveCell.Offset(1, 0).Formula = "=INDIRECT($C$4)"
我對VBA很新,所以如果所有這些似乎都像拼湊在一起的半猜猜......那是因爲它!感謝您的幫助!
編輯 - 解決方案:
a.k.a範圍可以不必在它的公式,我需要解決我的一套Addsection的
Sub AddExtraSection()
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Dim addSection As range
Set copySheet = Worksheets("Data Input")
Set pasteSheet = Worksheets("Add Extra Section")
Set addSection = copySheet.range("C3")
addSection.Formula = "=""DataInput_""&SUBSTITUTE('Add Extra Section'!C3,"" "","""")"
copySheet.range(addSection).Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial
End Sub
在'範圍的字符串文字(「東西」) '可以是任何Excel可以理解爲引用一系列單元格:''A1「',''A1:B12」','「$ A:$ B」',「SomeNamedRange」',無論如何。但是,不,不是一個公式。 –
Phooey。感謝您澄清! – Haley