J9九游会AG

专(zhuan)业电脑培(pei)训(xun)(xun)机构(gou),为北京、上海、广州、深圳、长沙、武汉、福州、厦(sha)门等(deng)(deng)城(cheng)市提供EXCEL培(pei)训(xun)(xun)、PPT培(pei)训(xun)(xun)、WORD培(pei)训(xun)(xun)、ACCESS培(pei)训(xun)(xun)、PROJECT培(pei)训(xun)(xun)、MCSE培(pei)训(xun)(xun)、MCITP培(pei)训(xun)(xun)、OFFICE培(pei)训(xun)(xun)等(deng)(deng)高(gao)级培(pei)训(xun)(xun)及(ji)相关技术(shu)服(fu)务(wu)。

0592-2962798 2963798
2966798 2968798
厦门湖滨南路皇达大厦5楼

最新文章列表

日报表这样做,快速填写,自动汇总,不..

J9九游会AG工具箱系列教程之快速分栏

J9九游会AG财务收支预测工具

如何解决EXCEL运行速度慢的问题

不允许EXCEL出现系统的提示对话框

高效办公:自动汇总数据有多难?J9九游会AG..

热门文章列表

【J9九游会AG下载】J9九游会AG工具箱

利用EXCEL VBA向WORD生成表格和图表..

厦门J9九游会AGEXCEL数据管理平台

金牌EXCEL老师刘凌峰教你如何在文本..

【J9九游会AG下载】J9九游会AG分发汇总工具

利用VLOOKUP提取多个条件的同一结果..

金牌OFFICE老师刘凌峰教你利用VBA调整转换报表方向

关键字:EXCEL VBA,EXCEL培训    发布时间:2020/11/24 19:04:26    作者:admin

问题(ti)背景:

某日,有学员请教从(cong)系(xi)统中导(dao)出海量的员工调薪(xin)记录,如(ru)何快速生成一(yi)份(fen)调薪(xin)报表。我认真观察了其数据(ju),认为这是(shi)将(jiang)竖向报表转换为横(heng)向报表的一个典(dian)型(xing)例子,通过函(han)数的办法(fa)比(bi)较难实现(xian),利用VBA则迅速完成。

原始表格:

  上表(biao)是通(tong)过人力资源(yuan)管理系(xi)统导出的调薪(xin)(xin)记录(lu),数(shu)据量非常(chang)大,达到几(ji)千条(tiao)。每位(wei)员工可(ke)能只有一(yi)条(tiao)调薪(xin)(xin)记录(lu),也可(ke)能有多(duo)条(tiao)调薪(xin)(xin)记录(lu)。调整的次(ci)数(shu)和调整的时间(jian)均(jun)不(bu)确(que)定。

目标报表:

         如上图所(suo)示,用户希望生(sheng)成一张(zhang)按员工(gong)姓(xing)名为基(ji)准的不(bu)重复行报表。即通过(guo)重复列的方(fang)式减少重复行的数据。

         不仅(jin)需要(yao)将(jiang)调(diao)薪记(ji)录(lu)中的(de)所有记(ji)录(lu)连接成一行的(de)数据(ju),还(hai)需将(jiang)最后一次调(diao)薪的(de)数据(ju)记(ji)录(lu)下来。

VBA代码:

Sub 调整报(bao)表()

k = 2

For i = 3 To Application.WorksheetFunction.CountA(Range("a1:a2000"))

myname = Sheet1.Cells(i, 1)

For n = k To 1000

tname = Sheet2.Cells(n, 1)

If myname = tname Then

Sheet1.Cells(i, 6 + c) = Sheet2.Cells(k, 2)

Sheet1.Cells(i, 7 + c) = Sheet2.Cells(k, 3)

Sheet1.Cells(i, 8 + c) = Sheet2.Cells(k, 4)

Sheet1.Cells(i, 9 + c) = Sheet2.Cells(k, 5)

Sheet1.Cells(i, 10 + c) = Sheet2.Cells(k, 6)

Sheet1.Cells(i, 11 + c) = Sheet2.Cells(k, 7)

c = c + 6

k = k + 1

Else

Sheet1.Cells(i, 2) = Sheet2.Cells(k - 1, 2)

Sheet1.Cells(i, 3) = Sheet2.Cells(k - 1, 3)

Sheet1.Cells(i, 4) = Sheet2.Cells(k - 1, 4)

Sheet1.Cells(i, 5) = Sheet2.Cells(k - 1, 5)

c = 0

Exit For

End If

Next n

Next i

End Sub

通过两(liang)次循环,将数据快速按指定(ding)方式生成(cheng)报表。

总结:

         EXCEL不是万能的,没(mei)有EXCEL是(shi)万万不(bu)(bu)能的。如果需要(yao)稍微复杂(za)一点的功能,还是(shi)离不(bu)(bu)开VBA的协(xie)助。

         也许(xu)你(ni)并不需要此功能,但如果你(ni)在(zai)EXCEL使(shi)用方(fang)面(mian)碰到任何(he)问题,欢迎联系我(wo)。

     下载案例(li)源文件请联系:0592-2967000

本文关键词:EXCEL VBA   EXCEL培训   

厦(sha)门(men)J9九游会AG是一(yi)家(jia)微软(ruan)认(ren)证(zheng)培(pei)训(xun)(xun)机(ji)构,是专业的EXCEL培(pei)训(xun)(xun)、PPT培(pei)训(xun)(xun)、ACCESS培(pei)训(xun)(xun)、OFFICE培(pei)训(xun)(xun)、微软(ruan)培(pei)训(xun)(xun)、微软(ruan)考试及其他IT服务(wu)供应商 ©2014 厦(sha)门(men)J9九游会AG微软(ruan)高级(ji)技术(shu)教(jiao)育(yu)中心 技术(shu)支持: