我是VBA的新手,雖然我已經完成了其他語言的一些編碼,所以我理解了一些一般的概念。我需要爲excel編寫一個宏,它將工作簿中的一些數據複製到一個不連續的單個列中的一個連續的新工作簿中的單個列中。困難的部分是我需要通過用戶提示選擇要複製的數據,並且每個選擇的大小都不相同。最後,帶有單列的新工作簿將被保存爲製表符分隔的文本文件。這就是我想到的,用一種通用的編碼語言。複雜的複製函數Excel VBA宏
我會用斜體向區分變量,「引號」來區分價值觀,大膽區分編碼關鍵詞。我假設代碼將從新的空工作簿運行。
CODE:
%%%初始化變量。
MoreCells = 「1」 %%%布爾是/否提示以後
了selectedCells = 「在提示選擇以後範圍」
SelectedCellsMagnitude = 「細胞在了selectedCells#」
DestinationStartCell = 「A1」%%%單元格開始於範圍被複制到
打開工作簿「要複製的工作簿」個morecells = 「1」
提示用戶選擇範圍
組 「選擇範圍」= 了selectedCells
集「了selectedCells大小「= selectedcellsmagnitude
拷貝了selectedCells到新的工作簿起始於細胞destinationstartcell
設置destinationstartcell = destinationstartcell + selectedcellsmagnitude
提示用戶「是否有更多單元要複製?「
如果 」是「 設置morecells = 」1「
別的設置morecells = 」0「
保存新的工作簿爲製表符分隔的值在目的地「\ new \ workbook \ destination」中命名爲「newworkbookname.txt」的文本文件
:END CODE
任何幫助將不勝感激。或者,就此而言,通過excel來了解VBA是否可行。
在此先感謝!
這是絕對有可能。如果您需要來自用戶的額外輸入,那麼您還必須包含VBA用戶窗體。所以代碼基本上會調用用戶表單,在關閉時從它獲取數據,然後單獨繼續其快樂的方式。然而,當你說「幅度」時,我對你的意思感到困惑 – Lopsided
我覺得這很有道理。按照量級,我的意思是簡單選擇的細胞數量。這個想法是這個信息允許循環在將下一個選擇複製到新的工作簿中時從正確的單元開始(因此它不會覆蓋先前複製的單元)。 – user2600805