作者quirrky (@@)
看板Office
标题[算表] excel选取储存格范围另存工作表-录制巨集
时间Wed Nov 20 00:46:57 2019
软体: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://webptt.com/cn.aspx?n=bbs/Office/M.1574182020.A.4E0.html
※ 编辑: quirrky (36.229.31.104 台湾), 11/20/2019 00:48:18
1F:→ soyoso: 1.以for...next包内文的巨集动作 11/20 07:27
2F:→ soyoso: 2.如要另存独立活页簿的话,就workbooks.add,复制贴上以 11/20 07:27
3F:→ soyoso: range.copy 11/20 07:27
4F:→ soyoso: 复制范围range.offset或range.offset.resize,offset的 11/20 07:27
5F:→ soyoso: 列偏移值以回圈所设的变数 11/20 07:27
6F:→ soyoso: 档名亦同,range.offset来取得b栏姓名储存格的值,连接 11/20 07:27
7F:→ soyoso: 上以&,如"c:\users...\" & range.offset(或将值写入的变 11/20 07:27
8F:→ soyoso: 数) 11/20 07:27
9F:→ soyoso: 3.工作表更名,worksheet.name 11/20 07:27
10F:→ soyoso: 4.寄发方面,如果录制巨集可行的话,就以录制,若不行就以 11/20 07:27
11F:→ soyoso: 网友分享方式来处理 11/20 07:27
12F:→ quirrky: 拍谢,请问[以for...next包内文的巨集动作]是什麽意思? 11/21 00:08
13F:→ quirrky: 之前涉过编号2-85工作表,回圈设For i = 2 To 85...next 11/21 00:10
14F:→ quirrky: 该如何设回圈?要先设好100个编号1-100之工作表吗? 11/21 00:11
15F:→ soyoso: 就内文activecell.range...到activecell.offset(...)的动 11/21 07:24
16F:→ soyoso: 作。有100位,可设0 to 99或1 to 100,该变数用於 11/21 07:26
17F:→ soyoso: range.offset列偏移值上就有可能会减1或不用 11/21 07:27
18F:→ soyoso: 是否要先设好100个编号的工作表就要看,设计上是先range. 11/21 07:28
19F:→ soyoso: copy资料到这100个工作表的话,可先设。 11/21 07:28
20F:→ soyoso: 如不是,而是新增一个工作表就将该工作表复制到新活页簿的 11/21 07:29
21F:→ soyoso: 话,则不用 11/21 07:29
※ 编辑: quirrky (36.229.25.135 台湾), 11/24/2019 00:45:08