基本上我有一個動態範圍,將永遠是在列A:C在片1我試圖寫個人宏拷貝的動態範圍和調換這到第2頁到允許郵件合併能夠讀取第1行作爲郵件合併字段。VBA移調的動態範圍在Excel
目前出現在此行中的錯誤:
Set sourceRange = ActiveSheet.Range(Cells(1, 1), Cells(lastRow, 1))
整個代碼如下所示。有可能是我錯過了一個簡單的錯誤,或者甚至是一個更簡單的方法來實現我想要的結果,但是這是我目前所提出的。
Sub TrasposeData()
'
' TrasposeData Macro
' Takes the data from sheet one and transpose it to sheet 2 to allow for mail merge compatibility.
Sheet1.Activate
Dim sourceRange As Range
Dim targetRange As Range
Dim lastRow As Long
lastRow = WorksheetFunction.CountA(Range("A:A"))
Set sourceRange = ActiveSheet.Range(Cells(1, 1), Cells(lastRow, 1))
Sheet2.Activate
Set targetRange = ActiveSheet.Cells(1, 1)
Sheet1.Activate
sourceRange.Copy
Sheet2.Activate
targetRange.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
' Keyboard Shortcut: Ctrl+t
'
Application.Run "PERSONAL.XLSB!TrasposeData"
ActiveWindow.Close
End Sub
任何幫助將不勝感激。
心靈添加錯誤消息的問題是什麼?如果錯誤號可能會幫助我們幫助你 – 2015-02-09 05:31:59
。是'1004'的原因是你的列A是空可言,也沒有用'0'因此充滿'lastRow'變量結果的小區,你不能創建範圍,行數爲0 – 2015-02-09 06:51:29
結束錯誤確實是1004。我用El Scripto建議的代碼代替,現在錯誤是運行時'424' - 對象需要的錯誤。 這個錯誤發生在第一場合: Sheet2.Activate – 2015-02-11 01:18:58