看板 Office 關於我們 聯絡資訊
軟體: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
soyoso: 複製貼上值,可以range.pastespecial 12/15 13:18
soyoso: 或以range = range.value的方式 12/15 13:19
soyoso: 原文寫到的bug處應是要指"工作表"名稱不是原始錄製巨集的 12/15 13:27
soyoso: "工作表"名稱吧 12/15 13:27
danceink: 有辦法將此修改自動fix我每一個新開啟的EXCEL資料嗎? 12/15 13:34
soyoso: 那工作表名稱有特定嗎? 12/15 13:36
soyoso: 例如工作表名稱有出現什麼字串、同檔名之類的 12/15 13:37
soyoso: 或是工作表內的儲存格是否有出現特定字串之類的 12/15 14:02
danceink: 原始輸出的檔案是txt檔;使用excel開啟;因此工作表名 12/15 14:04
danceink: 稱為檔名;目前想到的方法是將工作表名稱手動更改為工作 12/15 14:04
danceink: 表1再試試。 12/15 14:04
danceink: txt檔名依序為001t0,002t0,001t1, 12/15 14:09
soyoso: 如果是開啟txt檔來看,應只會有一個工作表,那可將bug處刪 12/15 14:10
soyoso: 除 12/15 14:11
soyoso: 取檔名方面可用activeworkbook.name試試 12/15 14:19