2016-11-17 644 views
2

每當我在Excel中運行某個報表宏時,我無法在其他地方使用複製和粘貼。例如,假設我啓動報告(取決於多少行可能需要30分鐘以上),然後在其他地方工作,而在後臺運行它不允許我複製和粘貼。它唯一粘貼的是當前正在處理的宏,如果我嘗試複製它被插入到報告中的下一個單元格的報告。當我有和Excel VBA宏運行時不能複製和粘貼

尋找任何建議或其他人是否聽說過這一點。

謝謝。

+1

報告是否明確依賴剪貼板? –

+0

是的,它使用 範圍(「A1」)。選擇 Selection.Copy Range(「B1」)。Select ActiveSheet.paste – Landers

回答

2

你甚至需要複製/粘貼嗎?也許在幕後VBA是不是真的複製/粘貼,每本身,但是如果你只需要值,爲什麼不:

Range("B1").Value = Range("A1").Value 

請記住,你才能真正做到這一點的範圍,而不僅僅是細胞

Range("B1:B100").Value = Range("A1:A100").Value 

這不會複製格式等,但你可以添加這些還有:

Range("A1").NumberFormat = Range("B1").NumberFormat 

這可能不如整潔,代碼明智,你尋求什麼用複製/粘貼,但我鼓勵你去衡量它,看看whi ch更有效率。再一次,也許它在引擎蓋下都是一樣的;我真的不知道。

+0

Sweet很高興你讓我知道,我打算試試Loop,但現在我知道你可以做Ranges all is Gravy!謝謝Hambone! – Landers

0

使用:

Range("A1").Select 
Selection.Copy 
Range("B1").Select 
Selection.Paste 

我是用我的剪貼簿ERGO爲什麼我不能複製,並通過它來改變粘貼:

Range("A1?).Copy Destination:=Range("B1?) 

它會做同樣的事情不僅沒有用您的活動剪貼板,並更高效。