2013-10-15 77 views
1

我到處搜索,只是無法讓它運行。對於VBA,我相當新(b),所以如果可能的話,我會很樂意提供一些提示或幫助。複製隨機單元格和粘貼+隨機單元格轉發的宏

所以我錄製的宏是這樣的:

Range("C133:C134").Select 
Selection.Copy 
Sheets("AVGs").Select 
Range("C28").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=True 

我的目標是選擇和複製隨機細胞並在不同的工作表中隨機細胞PasteSpecial的他們。

我能走到今天:

Selection.Copy 
Sheets("AVGs").Select 


Set x = Application.InputBox(prompt:="Click in the column to copy to", Type:=8) 
Range("x").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, Transpose:=True 

但我只是得到和錯誤和調試器顯示Range("x").Select錯誤.....

+0

'每個Range對象都是由開始和結束字符位置定義的:http://msdn.microsoft.com/en-us/library/office/aa223066(v=office.11​​).aspx – Chris

+0

如果你已經證實x實際上是一個範圍,你不需要'Range(「x」)' – Chris

+0

附近的引號。我試過它也沒有帶有相同結果的引號。 – user2882635

回答

0

據對InputBoxes此頁......

http://msdn.microsoft.com/en-us/library/office/aa195768(v=office.11).aspx

類型8表示該輸入框應該返回一個範圍對象

8 A cell reference, as a Range object

如果是這樣的話,那麼你只需要做

x.Select

爲了選擇由用戶指定的範圍內。如果您使用的類型= 2,那麼你可以使用Range(x).Select

後,在宏的最後一行是一樣的人在過程中,所以你應該關閉和運行

編輯,新的代碼:

Set x = Application.InputBox(prompt:="Set cell to copy", Type:=8) 
x.Select 
Selection.Copy 
Sheets("AVGs").Select 
Set y = Application.InputBox(prompt:="Set cell to paste", Type:=8) 
y.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True 
+0

我試過你的解決方案,它的工作範圍(x).select或現在x.select線,但現在它返回最後一行中的新錯誤。 – user2882635

+0

最後一個碼是這樣的: 集X = Application.InputBox(提示:= 「設置單元格複製」,類型:= 8)。 x.Select Selection.Copy 表( 「AVGs」)選擇 集合Y = Application.InputBox(提示:= 「設置電池粘貼」,類型:= 8) y.PasteSpecial粘貼:= xlPasteValues,操作:= xlNone,SkipBlanks:=假,移調:=真 完Sub 很遺憾,它只是不想運行,它在最後一行中調用錯誤 – user2882635

+0

什麼是錯誤 – Chris

相關問題