[算表] EXCEL 直式資料轉橫式資料自動化問題

看板Office作者 (舞墨)時間9年前 (2016/12/15 12:58), 9年前編輯推噓0(0015)
留言15則, 2人參與, 最新討論串1/1
軟體:EXCEL 版本:OFFICE365 EXCEL自學苦手 目的將EXCEL不同欄位資料自動化輸出 將於工作表中 欄位 B41-B52,B56-B71,C56-C71,B76-B89 轉成 新工作表內的長列資料 C2-BI2 目前進行步驟先將資料 輸出在原工作表D41-BI41 欄位 D41-O41 =OFFSET($B$41,ROW()-41+COLUMN()-4,0,) P41-AE41 =OFFSET($B$56,ROW()-41+COLUMN()-16,0,) AF41-AU41 =OFFSET($C$56,ROW()-41+COLUMN()-32,0) AV41-BI41 =OFFSET($B$76,ROW()-41+COLUMN()-48,0,) 問題 錄製完巨集後 無法複製D41-BI41的值輸出到另一工作表 bug似乎出在 . . . --> Sheets("028T0 ekg_hrv 1part").Select 新開的檔案名稱不是原始錄製巨集的檔案名稱 要怎麼改成適用我新開的其他EXCEL檔案 因為有300多筆的資料都要這樣處理 Range("D41:BI41").Select Range("BI41").Activate Selection.Copy Sheets("工作表2").Select Range("C2").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 還是有人給我可以其他方面的建議呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.60.122.153 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1481777918.A.285.html ※ 編輯: danceink (210.60.122.153), 12/15/2016 13:21:02

12/15 13:18, , 1F
複製貼上值,可以range.pastespecial
12/15 13:18, 1F

12/15 13:19, , 2F
或以range = range.value的方式
12/15 13:19, 2F

12/15 13:27, , 3F
原文寫到的bug處應是要指"工作表"名稱不是原始錄製巨集的
12/15 13:27, 3F

12/15 13:27, , 4F
"工作表"名稱吧
12/15 13:27, 4F

12/15 13:34, , 5F
有辦法將此修改自動fix我每一個新開啟的EXCEL資料嗎?
12/15 13:34, 5F

12/15 13:36, , 6F
那工作表名稱有特定嗎?
12/15 13:36, 6F

12/15 13:37, , 7F
例如工作表名稱有出現什麼字串、同檔名之類的
12/15 13:37, 7F

12/15 14:02, , 8F
或是工作表內的儲存格是否有出現特定字串之類的
12/15 14:02, 8F

12/15 14:04, , 9F
原始輸出的檔案是txt檔;使用excel開啟;因此工作表名
12/15 14:04, 9F

12/15 14:04, , 10F
稱為檔名;目前想到的方法是將工作表名稱手動更改為工作
12/15 14:04, 10F

12/15 14:04, , 11F
表1再試試。
12/15 14:04, 11F

12/15 14:09, , 12F
txt檔名依序為001t0,002t0,001t1,
12/15 14:09, 12F

12/15 14:10, , 13F
如果是開啟txt檔來看,應只會有一個工作表,那可將bug處刪
12/15 14:10, 13F

12/15 14:11, , 14F
12/15 14:11, 14F

12/15 14:19, , 15F
取檔名方面可用activeworkbook.name試試
12/15 14:19, 15F
文章代碼(AID): #1OKYB-A5 (Office)
文章代碼(AID): #1OKYB-A5 (Office)