[算表] excel選取儲存格範圍另存工作表-錄製巨集

看板Office作者 (@@)時間6年前 (2019/11/20 00:47), 6年前編輯推噓0(0021)
留言21則, 2人參與, 6年前最新討論串1/1
軟體:excel 版本:2010 在excel一個工作表中有100位員工薪資條明細 每人都是固定17列6欄的儲存格範圍 已使用錄製巨集選取每位資料後 貼到新的工作表中 示範excel如下 https://reurl.cc/EKmZ81 程式碼如下 Sub 巨集1() ' ' 巨集1 巨集 ' ' ActiveCell.Range("A1:F17").Select Selection.Copy Sheets.Add After:=Sheets(Sheets.Count) ActiveSheet.Paste ActiveCell.Columns("A:F").EntireColumn.Select ActiveCell.Offset(4, 0).Range("A1").Activate Selection.ColumnWidth = 12.64 ActiveCell.Columns("A:A").EntireColumn.Select ActiveCell.Activate Selection.ColumnWidth = 15.71 Application.CutCopyMode = False ActiveWorkbook.SaveAs Filename:="C:\Users\USER\Desktop\活頁簿25.xls", _ FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False Sheets("工作表1").Select ActiveCell.Offset(18, 0).Range("A1:F1").Select End Sub 1.不知如何修改成迴圈程式碼 可以順利執行100位的工作表 2.後續是否有可能可設定工作表命名皆為「201911」? 以及每個工作表另存獨立一個excel活頁簿檔案,檔名設為「某某某薪資條」 3.或者在問題1階段,先完成100個命名為「工作表00」 再另外用巨集的方式,重新按照名字命名 4.最後需要將每個excel獨立寄給100位員工,是否也可以用錄製巨集方式完成? 網路上找到有板友分享此方法 https://www.youtube.com/watch?v=YktQVwUdDrg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.31.104 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1574182020.A.4E0.html ※ 編輯: quirrky (36.229.31.104 臺灣), 11/20/2019 00:48:18

11/20 07:27, 6年前 , 1F
1.以for...next包內文的巨集動作
11/20 07:27, 1F

11/20 07:27, 6年前 , 2F
2.如要另存獨立活頁簿的話,就workbooks.add,複製貼上以
11/20 07:27, 2F

11/20 07:27, 6年前 , 3F
range.copy
11/20 07:27, 3F

11/20 07:27, 6年前 , 4F
複製範圍range.offset或range.offset.resize,offset的
11/20 07:27, 4F

11/20 07:27, 6年前 , 5F
列偏移值以迴圈所設的變數
11/20 07:27, 5F

11/20 07:27, 6年前 , 6F
檔名亦同,range.offset來取得b欄姓名儲存格的值,連接
11/20 07:27, 6F

11/20 07:27, 6年前 , 7F
上以&,如"c:\users...\" & range.offset(或將值寫入的變
11/20 07:27, 7F

11/20 07:27, 6年前 , 8F
數)
11/20 07:27, 8F

11/20 07:27, 6年前 , 9F
3.工作表更名,worksheet.name
11/20 07:27, 9F

11/20 07:27, 6年前 , 10F
4.寄發方面,如果錄製巨集可行的話,就以錄製,若不行就以
11/20 07:27, 10F

11/20 07:27, 6年前 , 11F
網友分享方式來處理
11/20 07:27, 11F

11/21 00:08, 6年前 , 12F
拍謝,請問[以for...next包內文的巨集動作]是什麼意思?
11/21 00:08, 12F

11/21 00:10, 6年前 , 13F
之前涉過編號2-85工作表,迴圈設For i = 2 To 85...next
11/21 00:10, 13F

11/21 00:11, 6年前 , 14F
該如何設迴圈?要先設好100個編號1-100之工作表嗎?
11/21 00:11, 14F

11/21 07:24, 6年前 , 15F
就內文activecell.range...到activecell.offset(...)的動
11/21 07:24, 15F

11/21 07:26, 6年前 , 16F
作。有100位,可設0 to 99或1 to 100,該變數用於
11/21 07:26, 16F

11/21 07:27, 6年前 , 17F
range.offset列偏移值上就有可能會減1或不用
11/21 07:27, 17F

11/21 07:28, 6年前 , 18F
是否要先設好100個編號的工作表就要看,設計上是先range.
11/21 07:28, 18F

11/21 07:28, 6年前 , 19F
copy資料到這100個工作表的話,可先設。
11/21 07:28, 19F

11/21 07:29, 6年前 , 20F
如不是,而是新增一個工作表就將該工作表複製到新活頁簿的
11/21 07:29, 20F

11/21 07:29, 6年前 , 21F
話,則不用
11/21 07:29, 21F
※ 編輯: quirrky (36.229.25.135 臺灣), 11/24/2019 00:45:08
文章代碼(AID): #1Tr1o4JW (Office)
文章代碼(AID): #1Tr1o4JW (Office)