使用VBA数组将工资单分解成工资单

< p >大家好。今天我们将继续解释VBA阵列和字典解决方案。今天我们将解释第75课的内容:使用数组将工资单分解成工资单

实际应用中有许多

字典和数组。如果你是一名财务官员,你可以考虑我今天所说的和我接下来要说的,也就是如何把工资单变成工资单。让我们根据下面的例子来解释。

实例,如

工资条打印

的截图是一个工作表。这些工资单的内容被更改为工资单,即每个工资单都有一个标题。为了便于分发,每张工资单之间应该留出多少空间?今天我将解释仅使用数组的方案。在下一堂课中,我将解释使用字典的方法。

思维分析:首先将数据放入数组,然后提取每一行数据进行处理,回填数据,然后复制格式

请看我在下面给出的代码:

Sub mynzsz_75()'第75讲使用数组将薪资表分解为工资单

Dim mybr()

页(“75”),选择

号 “

”将源数据存储到数组

码=范围(“a1:f”&范围(“a1”)。结束(xlDown)。行)

”结果放在动态数组mybrr

雷迪姆保护mybrr(1至6,1至UBound(myarr,1) * 3 - 3)

对于i = 2至UBound(myarr)

将记录I存入my crr

毫秒=应用。指数(myarr,I,0)

'设置行

t = (i - 1) * 3 - 2

'mybrr()是列和行的赋值

对于j = 1至UBound(mycrr)

myrr(j,t) =应用。指数(myarr,1,0)(j)

mybrr,t + 1) = mycrr(j)

Next

Next i

页(“工资单打印”)。选择

单元格。Clear

'在工资单上填写数据

带范围(“a1”)。调整大小(UBound(mybrr,2),6)

'结果将被转置并回填

。值=应用。移调(mybrr)

'在工资单上填写格式

张(“75”)。范围(“a1: F3”)。这里的“复制”是A1:F3

。特殊单元格(xlCellTypeConstants,23)。选择

。粘贴纸特殊xl粘贴纸格式

应用程序。CutCopyMode = False

结束

End Sub

代码:

的屏幕截图

工资条打印

代码分析:

1上述代码将工作表转换为工资单这堂课的内容主要使用数组、数组的提取、数组的转置、格式的复制等。

2 'mybrr()是列和行的赋值

对于j = 1至UBound(mycrr)

myrr(j,t) =应用。指数(myarr,1,0)(j)

mybrr,t + 1) = mycrr(j)

Next

在上表中,工资数据按行存储在mybrr中,并且MYBRR (J,T) =应用程序。索引(MYARR,1,0) (J)设置行数据的标题。注意要理解这里(j,t)的意思,j是列,t是行。

3 '在工资单上填写数据

带范围(“a1”)。调整大小(UBound(mybrr,2),6)

'结果将被转置并回填

。值=应用。移调(mybrr)

上述语句用换位进行了回填,行和列返回到它们的正常位置。

4 '在工资单上填写

格式

张(“75”)。范围(“a1: F3”)。这里的“复制”是A1:F3

。特殊单元格(xlCellTypeConstants,23)。选择

。粘贴纸特殊xl粘贴纸格式

应用程序。CutCopyMode = False

以上有望实现格式复制。理解抄写时,请注意多抄写一行。

请看下面运行的代码:

工资条打印

大家都在看

相关专题