用宏做的EXCEL工资表自动生成工资条

合集下载

运用Excel的VBA制作工资条

运用Excel的VBA制作工资条

运用Excel的VBA制作工资条
张旭
【期刊名称】《武汉工程职业技术学院学报》
【年(卷),期】2009(021)001
【摘要】工资条的制作是劳资人事管理工作中的一个很实际的问题,运用Excel的VBA程序代码,可以方便地解决这个问题.
【总页数】4页(P30-33)
【作者】张旭
【作者单位】武汉工程职业技术学院湖北,武汉:430080
【正文语种】中文
【中图分类】TP311
【相关文献】
1.运用 VBA 技术优化 Excel 报表制作流程 [J], 姚自忠
2.利用Excel VBA制作工资条 [J], 朱庆东
3.Excel下基于VBA的工资条制作模板开发 [J], 何学武
4.运用Excel VBA编程实现一键批量发送工资条 [J], 邹传树
5.一种VBA制作的EXCEL工资条解决方案 [J], 魏里;邓大治
因版权原因,仅展示原文概要,查看原文内容请购买。

Excel.VBA如何一键生成工资条

Excel.VBA如何一键生成工资条

Excel.VBA如何一键生成工资条1.将过程指定给按钮,实现工作的一键完成操作见下图:2.调出VBE的本地窗口做代码调试,帮助自己快速掌握代码的运行规律操作如下图:接下来我就不废话了,正式进入今天的主题,我今天分享的案例是:一键生成工资条,要求:将图一处理成图二的样子其实这个题的代码很简单涉及的知识点:1.关闭闪屏:代码Application.ScreenUpdating = FalseApplication.ScreenUpdating = True此类型代码一般都是成对出现,一般在过程的开头“禁用”某功能,但在过程的结尾就要“恢复”Excel程序的该项功能。

2.获取A列有效数据所在的最大行号iLastRow = Range('A' &Rows.Count).End(xlUp).RowEnd(xlup)的功能就类似于按住“ctrl 向上方向键”,这里之所以选择xlup向上的方向键,是因为我选择的起点单元格Range('A'& Rows.Count)是A列的最后一个单元格,Rows.Count前面没有指定词的话就是指对应Excel工作表的最大的那一行的行数,2003版是65536行;2007版以后的版本都是1048576行。

如果起点单元格是A1单元格的话,那End的参数就应该选择xlDown另外获取A1单元格的连续区域的行数还有一种写法:即:Range('A1').CurrentRegion.Rows.CountCurrentRegion即指连续区域3.倒循环——对、没错,原来循环还可以倒着走For i = iLastRow T o 3 Step -1Range('A' & i).Resize(2,1).EntireRow.InsertRange('A' & i 1).Resize(1,8).Value = Range('A1').Resize(1, 8).ValueNext i所谓的倒循环就是将对应循环变量i的步长值做减法运算,Step -1 即每循环一次循环体,就减1(具体步长值可以根据需要来定,1并不是唯一值)4.关键字ResizeResize是指对单元格进行扩展;()第一个参数表示行,第二个参数表示列,参数与参数之间是以逗号为间隔的。

如何在Excel中使用宏实现数据表自动生成

如何在Excel中使用宏实现数据表自动生成

如何在Excel中使用宏实现数据表自动生成Excel是一款功能强大的电子表格软件,可以帮助用户进行数据处理和管理。

使用Excel宏可以简化重复繁琐的操作,并实现自动化数据表的生成。

本文将介绍如何在Excel中使用宏实现数据表的自动生成。

第一步:打开宏编辑器在Excel中,点击“开发工具”选项卡,然后点击“Visual Basic”按钮,即可打开宏编辑器。

宏编辑器可以帮助我们编写和管理宏代码。

第二步:录制宏在宏编辑器中,点击“插入”选项卡,然后点击“模块”按钮,即可新建一个模块。

在模块中,我们可以编写宏代码。

点击“开发工具”选项卡中的“录制宏”按钮,即可进入录制宏的模式。

在录制宏时,我们可以进行相关操作,Excel会自动记录这些操作步骤,并生成对应的宏代码。

第三步:编写宏代码录制宏后,可以在宏编辑器中查看和编辑生成的宏代码。

宏代码是基于Visual Basic语言的,通过编写和修改宏代码,可以实现自定义的功能。

在宏编辑器中,我们可以使用各种代码语句,如循环语句、条件语句等,来实现数据表的自动生成。

以下是一个简单的示例代码:Sub GenerateTable()Dim i As IntegerDim j As Integer'创建新表并命名Sheets.Add = "数据表"'填充表头Cells(1, 1).Value = "姓名"Cells(1, 2).Value = "性别"Cells(1, 3).Value = "年龄"'填充数据For i = 2 To 10Cells(i, 1).Value = "姓名" & iCells(i, 2).Value = "性别" & iCells(i, 3).Value = iNext i'设置表格样式Range("A1:C1").Font.Bold = TrueRange("A1:C1").Interior.Color = RGB(192, 192, 192)Range("A1:C10").Borders.LineStyle = xlContinuous'调整列宽Columns("A:C").AutoFitEnd Sub以上代码实现了一个简单的数据表自动生成功能。

excel,怎么通过宏把工资表生成打印条

excel,怎么通过宏把工资表生成打印条

第一步:把这个工资表复制到一个新的工作薄中(光复制有人员名字的那些,表头不复制),然后在新的工作薄的头一列前新加一列,头三行分别输入2,5,8,然后选中这三行,用数据填充柄往下拉至全部人员,这样就在每个人的前边都加了数字。

第二步:在最后的人员名字下行的第二列把原表头复制进去(也就是说前边要空一个格,目的是添数字),有多少人,就复制多少行,或者用填充柄来实现也可。

(比如50人就要有50行表头),在这些表头的第一行前边添数字1,第二行表头前边添数字4,第三行表头前边添数字7,然后用数据填充柄来实现其他行的填充。

第三步:在最后一行表头的下行第一列处添数字3,再下一行添6,再下一行添9,然后用数据填充柄实现以后行的填充(空行数量必须和人员数量一致)。

第四步:选中整个表格,用“数据”中的“排序”对A列进行排序,这样就完成了整个工资表的制作。

第五步:把整个表格复制到WORD当中(因为用excel做的表格空行有框,无法消除)然后把表格加以调整,把空行的竖行都消除了(这个工作挺烦琐,你可以按住ctrl键用鼠标把全部空行都选中然后进行操作)。

最后再给这个工资表加上题目,至此工资表的工作基本完成。

实现你要求的打印格式程序如下,是根据你的实际表的情况,用宏编写的:Sub Print_table()Sheets("sheet2").Select'5 是工资表上打印的人数减1,可更改For i = 1 To 5'每个工人工资条下方插入两行,20是工资表的列数,可根据情况更改,下面三行中的的20要同时修改。

Range(Cells(3 * i + 1, 1), Cells(3 * i + 2, 20)).SelectSelection.Insert Shift:=xlDown'复制表头Range(Cells(1, 1), Cells(2, 20)).SelectSelection.CopyCells(3 * i + 1, 1).SelectActiveSheet.PasteActiveCell.Rows("1:1").EntireRow.RowHeight = 42NextRange("a2").SelectEnd Sub请注意以下几点:1、Excel启动时,提示是否使用宏,点击“启用宏”。

设计宏自动生成工资条

设计宏自动生成工资条
工号 姓名
XX公司XX年XX月工资总表
岗位
薪级
岗级
12月基本工资 房贴 岗贴 生活
其他
12月应扣项目
公积金
社保
基本工资合

12月公积 金基数
个人12%
12月社保 基数
医保2%+6
失业0.5%
养老8%
其他
12月扣除后 基本工资
12月工 作量工

11月个税
12月实发金额
主管:
复核:
制表:
工号 姓名
XX公司XX年XX月工资总表
公积金
社保
基本工资合

12月公积 金基数
个人12%
12月社保 基数
医保2%+6
失业0.5%
养老8%
其他
12月扣除后 基本工资
12月工 作量工

11月个税
12月实发金额
合计
0
0
-
0
0
0
0
0.0
-
0
-
0
0
0
0
0.0
0
0
0.0
主管:
复核:
制表:
岗位
薪级
岗级
12月基本工资 房贴 岗贴 生活
其他
12月应扣项目
公积金
社保
基本工资合

12月公积 金基数
个人12%
12月社保 基数
医保2%+6
失业0.5%
养老8%
其他
12月扣除后 基本工资
12月工 作量工

11月个税
12月实发金额
主管:
复核:
制表:

excel制作工资表教程:如何设置工资表自动计算工资

excel制作工资表教程:如何设置工资表自动计算工资

excel制作工资表教程:如何设置工资表自动计算工资使用excel制作工资表是财务会计们必备的技能之一,如果你的技术玩得六,可以不用重复操作,直接利用Excel的设置来实现自动计算工资哦!具体怎么实现?请看下面小编为大家带来的教程吧!excel表格设置自动计算工资的教程:自动计算工资步骤1:打开填制好数据的工资表。

选择需要计算结果的单元格,点击编辑栏上面的“插入函数”自动计算工资步骤2:在弹出窗口,选择求和函数:sum,点击确定自动计算工资步骤3:再次确认后,返回excel文档,可以看到刚才选择的单元格已经有了计算结果。

自动计算工资步骤4:其他类似需要计算的单元格,可以直接复制单元格,出现提示“复制公式”。

自动计算工资步骤5:自定义计算。

刚才的是直接求和,下面我们来看看怎么样自定义的方式计算。

就是有些不能直接是简单的求和之类的。

需要用到加、减的时候,就要自定义计算公式了。

自动计算工资步骤6:选择需要计算的结果的单元格,点击编辑栏,输入等号“=”。

点击需要计算的单元格,然后再输入运算符号,如“+”、“-”等。

再点击第二个单元格,依次类推。

最后回车结果公式的输入,此时就得到计算结果了。

自动计算工资步骤7:同样的方法,复制这个已经计算了单元格到其他需要的单元格上面。

公式就直接复制过去了。

看完还觉得不够?编辑心水推荐:Excel财务技巧零基础实操特训课4小时,6堂课,精通Excel,足够了!本课程搜罗各行业Excel技能干货,结合海量企业级应用案例,教授超级实用的Excel操作技巧,学成之后可直接应用于工作,即刻提升工作效率,为您升职加薪铺设“康庄大道”。

VBA EXCEL中的工资条打印代码

VBA EXCEL中的工资条打印代码

,VBA EXCEL中的工资条代码:从工资表中自动生成工资条Public Const ROWSTART As Integer = 3Public GongZiBiao As StringSub MakeGongzitiao()Dim I, HJ1COL, HJ2COL, ZJCOL As IntegerscreenUpdateState = Application.ScreenUpdatingstatusBarState = Application.DisplayStatusBarcalcState = Application.CalculationeventsState = Application.EnableEventsdisplayPageBreakState = ActiveSheet.DisplayPageBreaks '注:这是工作表级的设置'关闭一些Excel功能使代码运行更快Application.ScreenUpdating = FalseApplication.DisplayStatusBar = FalseApplication.Calculation = xlCalculationManualApplication.EnableEvents = FalseActiveSheet.DisplayPageBreaks = False '注:这是工作表级的设置For Each oMyVar In ThisWorkbook.Sheetssheetsnames = + " " + sheetsnamesNext oMyVarDim HJS(50) As IntegerDim hjcaption(50) As StringZJCOL = 0titlerow = 0XHCOL = 0GongZiBiao = ""XMCOL = 0For j = 1 To ThisWorkbook.Sheets.CountIf Sheets(j).Name <> "工资条" ThenSet XH = Sheets(j).UsedRange.Find("序号")If Not XH Is Nothing Thenlastcol = Sheets(j).UsedRange.Columns.Counttitlerow = XH.Row()XHCOL = XH.Column()hjcount = 0For I = 1 To lastcolIf InStr(Sheets(j).Cells(titlerow, I), "总") > 0 ThenZJCOL = IEnd IfIf InStr(Sheets(j).Cells(titlerow, I), "姓") > 0 ThenXMCOL = IEnd IfIf InStr(Sheets(j).Cells(titlerow, I), "合") > 0 Thenhjcount = hjcount + 1HJS(hjcount) = IEnd IfNext IIf hjcount * ZJCOL * titlerow > 0 ThenGongZiBiao = Sheets(j).NameExit ForEnd IfEnd IfEnd IfNext jIf titlerow * hjcount * ZJCOL * Len(GongZiBiao) = 0 ThenMsgBox "没有工资表或工资表不正确,请正确登记表工资表!", 16, "错误"EndEnd IfIf InStr(sheetsnames, "工资条") = 0 ThenThisWorkbook.Sheets.AddThisWorkbook.Sheets(1).Name = "工资条"For I = 1 To hjcounthjcaption(I) = "合计工资" & Trim(Str(I))Next Ititlerow = ROWSTARTElseSet gztxh = Sheets("工资条").UsedRange.Find("序号")If Not gztxh Is Nothing Thentitlerow = gztxh.Row()For I = 1 To hjcountIf Sheets("工资条").Cells(titlerow, I + 2) <> "" And Sheets("工资条").Cells(titlerow,I + 2) <> "工资总额" Thenhjcaption(I) = Sheets("工资条").Cells(titlerow, I + 2)Elsehjcaption(I) = "合计工资" & Trim(Str(I))End IfNext IElsetitlerow = ROWSTARTFor I = 1 To hjcounthjcaption(I) = "合计工资" & Trim(Str(I))Next IEnd IfEnd Ifhjcaption(I) = "工资总额"Sheets("工资条").Cells.Clearxhfirst = Application.WorksheetFunction.Min(Sheets(GongZiBiao).Columns(XHCOL))xhlast = Application.WorksheetFunction.Max(Sheets(GongZiBiao).Columns(XHCOL)) With Sheets("工资条").Cells.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenter.RowHeight = 23End WithJSS = 0For XH = xhfirst To xhlastSet THISROW = Sheets(GongZiBiao).Columns(XHCOL).Find(XH)With Sheets("工资条")If Not THISROW Is Nothing Then.Cells(titlerow + JSS * 7 - 1, 1).Value = "通城职高教职工工资条".Cells(titlerow + JSS * 7 - 1, 1).Font.Size = 18.Cells(titlerow + JSS * 7 - 1, 1).Font.Bold = TrueRange(.Cells(titlerow + JSS * 7 - 1, 1), .Cells(titlerow + JSS * 7 - 1, hjcount + 3)).Merge.Cells(titlerow + JSS * 7, 1).Value = "序号"If XMCOL > 0 Then.Cells(titlerow + JSS * 7, 2).Value = "姓名"xm = 1Elsexm = 0End IfFor I = 1 To hjcount + 1.Cells(titlerow + JSS * 7, I + xm + 1).Value = hjcaption(I)Next I.Cells(titlerow + JSS * 7 + 2, hjcount + xm).Value = "通城职高教务处打印".Cells(titlerow + JSS * 7 + 2, hjcount + xm).Font.Size = 14.Cells(titlerow + JSS * 7 + 2, hjcount + xm).Font.Bold = TrueRange(.Cells(titlerow + JSS * 7 + 2, hjcount + xm), .Cells(titlerow + JSS * 7 + 2, hjcount + xm + 2)).Merge.Cells(titlerow + JSS * 7 + 3, hjcount + xm).Value = "=now()"Range(.Cells(titlerow + JSS * 7 + 3, hjcount + xm), .Cells(titlerow + JSS * 7 + 3, hjcount + xm + 2)).Merge.Cells(titlerow + JSS * 7 + 1, 1).V alue = XHIf XMCOL > 0 Then.Cells(titlerow + JSS * 7 + 1, 2).Value = "=" + GongZiBiao + "!" + NTOC(XMCOL) + Trim(Str(THISROW.Row()))End IfFor I = 1 To hjcount.Cells(titlerow + JSS * 7 + 1, I + xm + 1).Value = "=" + GongZiBiao + "!" + NTOC(HJS(I)) + Trim(Str(THISROW.Row()))Next I.Cells(titlerow + JSS * 7 + 1, I + xm + 1).Value = "=" + GongZiBiao + "!" + NTOC(ZJCOL) + Trim(Str(THISROW.Row()))Range(.Cells(titlerow + JSS * 7 + 4, 1), .Cells(titlerow + JSS * 7 + 4, hjcount + xm + 2)).Borders(xlEdgeBottom).LineStyle = xlDotWith Range(.Cells(titlerow + JSS * 7, 1), .Cells(titlerow + JSS * 7 + 1, hjcount + xm + 2)).Borders(xlEdgeLeft).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Range(.Cells(titlerow + JSS * 7, 1), .Cells(titlerow + JSS * 7 + 1, hjcount + xm + 2)).Borders(xlEdgeTop).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Range(.Cells(titlerow + JSS * 7, 1), .Cells(titlerow + JSS * 7 + 1, hjcount + xm + 2)).Borders(xlEdgeBottom).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Range(.Cells(titlerow + JSS * 7, 1), .Cells(titlerow + JSS * 7 + 1, hjcount + xm + 2)).Borders(xlEdgeRight).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Range(.Cells(titlerow + JSS * 7, 1), .Cells(titlerow + JSS * 7 + 1, hjcount + xm + 2)).Borders(xlInsideVertical).LineStyle = xlContinuous.Weight = xlHairline.ColorIndex = xlAutomaticEnd WithWith Range(.Cells(titlerow + JSS * 7, 1), .Cells(titlerow + JSS * 7 + 1, hjcount + xm + 2)).Borders(xlInsideHorizontal).LineStyle = xlContinuous.Weight = xlHairline.ColorIndex = xlAutomaticEnd WithJSS = JSS + 1End IfEnd WithNext XHcolwidth = 0For I = 1 To hjcount + 3colwidth = colwidth + Sheets("工资条").Columns(I).WidthNext IWith Sheets("工资条").PageSetup.HeaderMargin = Application.InchesToPoints(0.23).FooterMargin = Application.InchesToPoints(0.2).BottomMargin = Application.InchesToPoints(0.34).TopMargin = Application.InchesToPoints(0.29).FitToPagesWide = 1.FitToPagesTall = 1If (594 - colwidth) / 2 > 20 Then.LeftMargin = (594 - colwidth) / 2.RightMargin = (594 - colwidth) / 2End IfEnd WithApplication.ScreenUpdating = screenUpdateStateApplication.DisplayStatusBar = statusBarStateApplication.Calculation = calcStateApplication.EnableEvents = eventsStateActiveSheet.DisplayPageBreaks = displayPageBreaksState '注:这是工作表End SubFunction NTOC(ByVal ncol As Integer) As String '本函数将列号转换为单元格列名ncol = ncol - 1NHEAD = ncol \ 26NTAIL = ncol - NHEAD * 26If NHEAD = 0 ThenHEAD = ""ElseHEAD = Chr(NHEAD + 64)End IfNTOC = HEAD + Chr(NTAIL + 65)End FunctionPrivate Sub Workbook_BeforeClose(Cancel As Boolean)Set mytools = mandBars.FindControlsFor Each myGZT In mytoolsIf myGZT.Tag = "工资条工具" Or myGZT.Tag = "工资条菜单" ThenmyGZT.DeleteEnd IfNext myGZTEnd SubPrivate Sub Workbook_Open()If mandBars("Formatting").Controls(1).Tag <> "工资条工具" ThenSet mytools = mandBars("Formatting").Controls.Add(msoControlButton, 1, , 1) mytools.Caption = "生成工资条(&J)"mytools.Tag = "工资条工具"ElseSet mytools = mandBars("Formatting").Controls(1)End If'没有工资条按钮则在格式工具栏开头增加工资条按钮Dim mypicture, mypicturemask As Booleanmypicture = FalseSet MyFile = CreateObject("Scripting.FileSystemObject")If MyFile.FileExists(ThisWorkbook.Path & "\BMP\RMB.BMP") ThenSet myico = stdole.StdFunctions.LoadPicture(ThisWorkbook.Path & "\BMP\RMB.BMP") mytools.Picture = myicoIf MyFile.FileExists(ThisWorkbook.Path & "\BMP\RMBMASK.BMP") ThenSet myicoMASK = stdole.StdFunctions.LoadPicture(ThisWorkbook.Path & "\BMP\RMBMASK.BMP")mytools.Mask = myicoMASKEnd If'设置对象图标屏蔽,使背景透明mypicture = TrueEnd If'设置对象图标If Not mypicture Thenmytools.FaceId = 395End Ifmytools.OnAction = & "!MAKEGONGZITIAO"mytools.Tag = "工资条工具"If mandBars("Tools").Controls(1).Tag <> "工资条菜单" ThenSet mytools1 = mandBars("Tools").Controls.Add(msoControlButton, 1, , 1) mytools1.Caption = "生成工资条(&J)"mytools1.Tag = "工资条菜单"ElseSet mytools1 = mandBars("Tools").Controls(1)End Ifmytools1.OnAction = & "!MAKEGONGZITIAO"End Sub。

EXCEL工资条生成办法(代码)

EXCEL工资条生成办法(代码)

EXCEL工资条生成办法(代码)下面的宏代码,可在EXCEL中使用,可以根据提示设置表头的行数,运行后生成工资条。

使用方法为:用EXCEL建好工资表,依次打开:工具菜单——宏——宏,在宏名中输入“工资条”,单击“创建”,即打开了“模块1(代码)窗口”,里面的内容删除后,将下面的代码复制到“模块1(代码)窗口”保存。

运行时在工资表所在页中打开工具——宏——宏,看到里面有一个“工资条”的宏,单击执行,然后输入工资条的表头行数,确定后即可生成工资条。

所用代码如下:Sub 生成工资条()'表格行(bgh)指的是工资表中的总人数,表格列(bgl)指的是表中应有列数,此两数必须事先设定。

Dim bth As IntegerDim bgh As IntegerDim bgl As IntegerDim Irow As Integer, Icol As Integer '定义Irow取得行数,Icol取得列数Irow = [A1].CurrentRegion.Rows.Count '取得行数Icol = [A1].CurrentRegion.Columns.Count '取得列数bth = InputBox("请您输入工资表的表头行数:", "表头行数", 1)'下面两行为备用语句'bgh = InputBox("请您输入工资表中人员总数:", "人员总数", 19)'bgl = InputBox("请输入列数:", "列数", 6)bgh = Irow - bthbgl = Icol'本程序中共有两个循环体,其循环次数如一行标题的可为最大行号减2,或最高记录减1,加边框及网格时注意I3\F3\G3等.最大循环两外,网格用号1次'去掉工资表中的网格线Cells.SelectSelection.Borders(xlDiagonalDown).LineStyle = xlNoneSelection.Borders(xlDiagonalUp).LineStyle = xlNoneSelection.Borders(xlEdgeLeft).LineStyle = xlNoneSelection.Borders(xlEdgeTop).LineStyle = xlNoneSelection.Borders(xlEdgeBottom).LineStyle = xlNoneSelection.Borders(xlEdgeRight).LineStyle = xlNoneSelection.Borders(xlInsideV ertical).LineStyle = xlNoneSelection.Borders(xlInsideHorizontal).LineStyle = xlNone'开始操作(下面的操作防止了如表头首列合并单元格后插入行可能出现多行的情况,如出现插入多行,则删除表头行数减1个行,以保证前面只有一空行.Range(Rows(1), Rows(bth)).SelectSelection.Insert Shift:=xlDownIf bth > 1 ThenRange(Rows(1), Rows(bth - 1)).SelectSelection.Delete Shift:=xlUpEnd If'开始循环,在此应将总记录数减1得循环次数For x = 1 To bgh - 1y = (bth + 2) * x + 1Range(Rows(1), Rows(bth + 1)).SelectSelection.CopyRows(y).SelectSelection.Insert Shift:=xlDownNext x'加线Range(Cells(2, 1), Cells(bth + 2, bgl)).SelectSelection.Borders(xlDiagonalDown).LineStyle = xlNoneSelection.Borders(xlDiagonalUp).LineStyle = xlNoneWith Selection.Borders(xlEdgeLeft).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Selection.Borders(xlEdgeTop).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Selection.Borders(xlEdgeBottom).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Selection.Borders(xlEdgeRight).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Selection.Borders(xlInsideV ertical).LineStyle = xlDash.Weight = xlThin.ColorIndex = xlAutomaticEnd WithWith Selection.Borders(xlInsideHorizontal).LineStyle = xlDash.Weight = xlThin.ColorIndex = xlAutomaticEnd With'格式化For n = 1 To bgh - 1m = (bth + 2) * n + 2Range(Rows(2), Rows(bth + 2)).SelectSelection.CopyRange(Cells(m, 1), Cells(m + bth + 1, bgl)).SelectSelection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=FalseRange(Cells((bth + 2) * (n + 1) + 1, 1), Cells((bth + 2) * (n + 1) + 1, bgl)).Select Selection.Borders(xlDiagonalDown).LineStyle = xlNoneSelection.Borders(xlDiagonalUp).LineStyle = xlNoneSelection.Borders(xlEdgeLeft).LineStyle = xlNoneWith Selection.Borders(xlEdgeTop).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithWith Selection.Borders(xlEdgeBottom).LineStyle = xlDouble.Weight = xlThick.ColorIndex = xlAutomaticEnd WithSelection.Borders(xlEdgeRight).LineStyle = xlNoneSelection.Borders(xlInsideV ertical).LineStyle = xlNoneNext n'删除多余行Rows("1:1").SelectSelection.Delete Shift:=xlUpRange(Cells((bth + 2) * bgh, 1), Cells((bth + 2) * bgh, bgl)).Select Selection.Delete Shift:=xlUpCells.SelectWith ActiveSheet.PageSetup.PrintTitleRows = "".PrintTitleColumns = ""End WithActiveSheet.PageSetup.PrintArea = ""With ActiveSheet.PageSetup.LeftHeader = "".CenterHeader = "".RightHeader = "".LeftFooter = "".CenterFooter = "".RightFooter = "".LeftMargin = Application.InchesToPoints(0.75).RightMargin = Application.InchesToPoints(0.75).TopMargin = Application.InchesToPoints(1).BottomMargin = Application.InchesToPoints(1).HeaderMargin = Application.InchesToPoints(0.5).FooterMargin = Application.InchesToPoints(0.5).PrintHeadings = False.PrintGridlines = False.PrintComments = xlPrintNoComments.CenterHorizontally = False.CenterV ertically = False.Orientation = xlLandscape.Draft = False.PaperSize = xlPaperA4.FirstPageNumber = xlAutomatic.Order = xlDownThenOver.BlackAndWhite = False.Zoom = 100.PrintErrors = xlPrintErrorsDisplayedEnd WithDim i As Integeri = Int(V al(MsgBox("工资条己生成,请预览后再打印", vbOKOnly))) End Sub。

自动生成工资条系统Excel表格模板

自动生成工资条系统Excel表格模板

1、首先在【工作表】逐项填写年月及员工工资信息
2、【全部工资条】中的自动生成全体员工的工资条
3、【查询表】中,输入员工姓名,可以查出该员工的工资条信息,并在【查询工资条】表格中自动生成该员工的工资条;输入部门名称,则可以查出该部门所有员工的工资,并在【查询工资条】表格中自动生成该部门所有员工的工资条。

4、本工作簿的主要优点有(1)本表格中的工资条打印格式已调整好,(2)【查询工资条】可以分部门打印工资条,便于工资条的发放和打印,(3)查询个人的工资条可以在保密的前提下核对员工个人工资信息(4)部门和姓名的组合查询可以节约员工重名所带来的问题。

设计宏自动生成工资条

设计宏自动生成工资条

主管:
复核:
制表:
XX公司XX年XX月工资总表
12月基本工资 公积金 工号 姓名 岗位 薪级 岗级 房贴 岗贴 生活 其他 12月应扣项目 社保 养老8% 其他 基本工资合 12月公积 12月社保 计 个人12% 医保2%+6 失业0.5% 金基数 基数 12月工 12月扣除后 作量工 基本工资 资 11月个税 12月实发金额
主管:
复核:
制表:
XX公司XX年XX月工资总表
12月基本工资 公积金 工号 姓名 岗位 薪级 岗级 房贴 岗贴 生活 其他 12月应扣项目 社保 养老8% 其他 基本工资合 12月公积 12月社保 计 个人12% 医保2%+6 失业0.5% 金基数 基数 12月工 12月扣除后 作量工 基本工资 资 11月个税 12月实发金额
主管:
复核:
制表:
XX公司XX年XX月工资总表
12月基本工资 公积金 工号 姓名 岗位 薪级 岗级 房贴 岗贴 生活 其他 12月应扣项目 社保 养老8% 其他 基本工资合 12月公积 12月社保 计 个人12% 医保2%+6 失业0.5% 金基数 基数 12月工 12月扣除后 作量工 基本工资 资 11月个税 12月实发金额
XX公司XX年XX月工资总表
12月基本工资 公积金 工号 姓名 岗位 薪级 岗级 房贴 岗贴 生活 其他 12月应扣项目 社保 养老8% 其他 基本工资合 12月公积 12月社保 计 个人12% 医保2%+6 失业0.5% 金基数 基数 12月工 12月扣除后 作量工 基本工资 资 11月个税 12月实发金额
合计
0
0
-
0
0
0Байду номын сангаас

excel自动生成工资条

excel自动生成工资条

方法一:宏命令控制法对于Office家族的宏功能,大家或许早有耳闻,但由于需要使用VBA进行编程,所以宏一直让许多人望而却步,不过要使用一个现成的宏就简单多了。

首先打开要处理的Excel 表,选择“工具→宏→Visual Basic编辑器”,在编辑器左边的窗口中用鼠标双击Sheet1,会出现代码编辑窗口,在代码编辑窗口输入如下代码(为了不破坏原有的工资表,所以这里采用了将Sheet1的内容复制到Sheet2的方法,所以最后的生成结果是在Sheet2中显示):Sub MakeSalaryList()Dimi As IntegerDimendrowAsInteger'测出数据的最后一行endrow= Sheet1.Range("a65536").End(xlUp).Row - 1'把标题贴过去Worksheets(1).Range("1:1").Copy(Worksheets(2).Cells(1, 1))For i = 3To endrow'把每条数据抬头贴过去Worksheets(1).Range("2:2").Copy(Worksheets(2).Cells(3 * i - 7,1)) '把数据贴过去Worksheets(1).Range(Cells(i,1),Cells(i,256)).Copy(Worksheets(2).Cells(3*i- 6, 1))NextiEndSub关闭编辑器,将自动返回到刚才的Excel表,选择“工具→宏→宏”,将弹出如下对话框:点击“执行”,将在Sheet2生成如Gz-2所示的转换成工资条,怎样,不复杂吧。

当然,如果你的表总Sheet2已经输入了别的内容,就可以将他复制到Sheet3来生成,代码修改也很简单,把其中的Sheet2修改成Sheet3就可以了,其它代码不变。

方法二:公式填充法相比宏命令,公式填充法更便于理解,不过需要手工操作的步骤稍微多一些,“鱼和熊掌不可得兼”,要用哪种方法就看你的爱好了。

在Excel中,怎么让工资表变成工资条?看完你就会了

在Excel中,怎么让工资表变成工资条?看完你就会了

在Excel中,怎么让工资表变成工资条?看完你就会了
对于从事财务的小伙伴来说
“工资”是绕不过的一项工作
财务会计每个月都要和工资表打交道
上要制作美观清晰的工资表给老板看
下要制作员工的工资条发给个人
那么怎样让这两项工作并行、减少工作成本呢?
今天会计菌就和大家分享
利用工资表自动生成工资条的技巧~
打开看点快报,查看高清大图
操作演示
打开看点快报,查看高清大图
打开看点快报,查看高清大图
详细步骤拆解
▶第一步——在H3单元格输入公式
=CHOOSE(MOD(ROW(A1),3)+1,'',B$3,OFFSET(B$3,ROW(A1) /3+1,)),确认后向右拖动复制公式到L3单元格;
▶第二步:生成第一个工资条
选中H3:L3单元格区域,向下拖动复制公式到H5:L5单元格
▶第三步:凭公司常用形式或个人喜好等,对工资条进行美化编辑
比如:H3:L3单元格区域字体加粗并设置填充色为浅绿色、H3:L4单元格区域加上边框;
▶第四步:拖动完成全部工资条
选中H3:L5单元格区域,向下拖动复制公式直到完成全部工资表行,这样一个漂亮的工资表就自动生成了。

Excel数据获取与处理 项目14 使用宏生成工资条

Excel数据获取与处理 项目14 使用宏生成工资条
(6) 对象和集
VBA是一种面向对象的语言,对象代表应用程序中的元素,如工作表、 单元格、窗体等。Excel应用程序提供的对象按照层次关系排列在一起 成为对象模型。
(7) 属性
属性集用是来由描同述类的对对象象的组特成性的。,而例且如集Ra合n本ge身对也象是的一属个性对象Co。lumn、 Row、Width和Value。通过VBA代码可以实现以下功能。
37
执行Sub过程
Sub pingding()
Dim a%
a=1
步骤(3) 输入代码
Do
a=a+1
在【会员星级评定.xlsx-模块1】窗体中输If a入> 11的Then代码如右。 Exit Do
ElseIf Cells(a, 7) >= 1000 Then
Cells(a, 8) = "五星级"
(3)按下【Alt+F11】组合键。
21
认识VBA的语言结构
(1) 标识符
① 定义
标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号, 利用它可以完成对变量、常量过程等的引用。
② 命名方式
a. 字母开头,由字母、数字和下划线组成。
b. 不能包含空格、感叹号、句号、@、#、&、$。
字符串型
Byte
字节型
Boolean
布尔型
Integer
整数型
Long
长整数型
Single
单精度型
Double
双精度型
Date
日期型
Currency
货币型
Decimal
小数点型
Variant
变体型
Object
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档