[算表] VBA轉置貼上另存新檔

看板Office作者 (浪跡天涯的旅人)時間3年前 (2020/09/20 23:57), 編輯推噓0(0032)
留言32則, 2人參與, 3年前最新討論串1/1
軟體:excel 版本:2016 原檔: https://imgur.com/JdfTA4n
想改成 https://imgur.com/6QTVThH
想把原檔案轉至後貼到另一個新檔案,並且按照分公司名稱存檔 有嘗試爬文來修正,但一直失敗... 遇到有合併的存儲格無法抓取,也不知道怎麼轉置 想請教各位大大幫忙 Sub Macro1() Dim rLastCell As Range Dim strName As String Dim lLoop As Long Dim wbNew As Workbook Dim cnt As Integer With ThisWorkbook.Sheets(1) Set rLastCell = .Cells.Find(What:="*", After:=[A1], _ SearchDirection:=xlPrevious) For lLoop = 2 To rLastCell.Row cnt = WorksheetFunction.CountIf(Range("c:c"), Range("c" & lLoop)) Set wbNew = Workbooks.Add 試跑到這邊都是正常的,但後續就不知道如何處理了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.71.215.170 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1600617478.A.3D5.html

09/21 00:51, 3年前 , 1F
有寫新增活頁簿,新增時作用會在新活頁簿上,所以range如
09/21 00:51, 1F

09/21 00:51, 3年前 , 2F
要引用巨集工作表內的儲存格、範圍、列或欄時要以.range
09/21 00:51, 2F

09/21 00:51, 3年前 , 3F
內文巨集來看,第二列range.autofilter,篩選第三欄,篩選
09/21 00:51, 3F

09/21 00:51, 3年前 , 4F
值.range("c" & lLoop)
09/21 00:51, 4F

09/21 00:51, 3年前 , 5F
複製範圍range.copy,於新增工作表wbnew,工作表內range.
09/21 00:51, 5F

09/21 00:51, 3年前 , 6F
pastespecial transpose為真
09/21 00:51, 6F

09/21 00:51, 3年前 , 7F
lLoop累加cnt減1,lLoop = lLoop + cnt -1
09/21 00:51, 7F

09/21 00:51, 3年前 , 8F
另存workbook.saveas
09/21 00:51, 8F

09/21 05:45, 3年前 , 9F

09/21 05:47, 3年前 , 10F
不好意思,上圖是您上次教我的部分,但我不知道該從哪改起..
09/21 05:47, 10F

09/21 05:48, 3年前 , 11F
對VBA還不太熟悉...
09/21 05:48, 11F

09/21 17:28, 3年前 , 12F
1、巨集內有range.copy(這方面保留),但不要destination
09/21 17:28, 12F

09/21 17:28, 3年前 , 13F
以range.pastespecial transpose為真來轉置
09/21 17:28, 13F

09/21 17:28, 3年前 , 14F
2、1:1方面標題有二列就改為1:2
09/21 17:28, 14F

09/21 17:28, 3年前 , 15F
3、回文寫到lLoop累加cnt減1方面,巨集內也有寫到(這方面
09/21 17:28, 15F

09/21 17:28, 3年前 , 16F
也保留)
09/21 17:28, 16F

09/21 17:28, 3年前 , 17F
4、巨集也有寫到range.autofit和save方面(這方面也無不用
09/21 17:28, 17F

09/21 17:28, 3年前 , 18F
動)
09/21 17:28, 18F

09/21 17:28, 3年前 , 19F
就改或新增1,2所提的
09/21 17:28, 19F

09/21 23:19, 3年前 , 20F

09/21 23:19, 3年前 , 21F
不知道這樣改是否正確? 但執行的時候出現圖片上的錯誤
09/21 23:19, 21F

09/22 07:21, 3年前 , 22F
range.copy後面的下底線是要和下行語法做連接的,但range.
09/22 07:21, 22F

09/22 07:21, 3年前 , 23F
copy和range.pastespecial連接並非正確的語法,下底線要刪
09/22 07:21, 23F

09/22 07:21, 3年前 , 24F
09/22 07:21, 24F

09/22 07:21, 3年前 , 25F
9/21 00:51 range如要引用巨集工作表內的儲存格、範圍、列
09/22 07:21, 25F

09/22 07:21, 3年前 , 26F
或欄時要以.range,range.pastespecial是要貼到新增的活頁
09/22 07:21, 26F

09/22 07:21, 3年前 , 27F
簿內,所以是以新增活頁簿變數vbnew.工作表.range.
09/22 07:21, 27F

09/22 07:21, 3年前 , 28F
pastespecial
09/22 07:21, 28F

09/22 07:21, 3年前 , 29F
range也沒有指定儲存格字串位址,range(..)括號內以儲存格
09/22 07:21, 29F

09/22 07:21, 3年前 , 30F
字串位址
09/22 07:21, 30F

09/22 07:21, 3年前 , 31F
參數名稱是transpose,巨集內少e
09/22 07:21, 31F

09/24 22:53, 3年前 , 32F
感謝教學~已經先用別的方式進行了 後續會再來研究
09/24 22:53, 32F
文章代碼(AID): #1VPtm6FL (Office)