撒分!求人帮写两个简单的EXCEL宏,效果见图!有追分!

输入界面浅蓝色部分为在别的系统中复制出来的数据,直接粘贴上去。
管束和车型两个按钮为对应的宏
调用“管束”宏的时候则直接跳转到“管束”工作表并根据条件输出内容
调用“车型”宏的时候则直接跳转到“车型”工作表并根据条件输出内容
管束输出要求:图号在A列,日期班次在B列,图号和班次为一一对应关系,数量就是输出多少个对应的图号和班次
车型输出要求:图号在A列,日期班次在B列,输出时每行的班次都调用A4单元格的班次,图号变,班次不变,数量为要输出这个图号多少个
其他条件不考虑,例如:要复制多少数据进来,要转换多少张,要输出多少万条......
就是想打印标签,标签内容为图号+班次日期,数量就是需要打印张数,所以输出就是对应数量的图号+班次日期的排列。没有变量,就是把定量排列成图中的格式就OK。

Sub 管束()
Dim x As Integer
Dim i As Integer
Dim a As Integer
Sheets("管束").Select
x = 2
Do Until Sheets("数据录入表").Cells(x, "A") = ""
a = Sheets("管束").Cells(65536, "A").End(xlUp).Row
For i = 1 To Sheets("数据录入表").Cells(x, "C")
Sheets("管束").Cells(a + i, "A") = Sheets("数据录入表").Cells(x, "B")
Sheets("管束").Cells(a + i, "B") = Sheets("数据录入表").Cells(x, "A")
Next i
Loop
End Sub

Sub 车型()
Dim x As Integer
Dim i As Integer
Dim a As Integer
Sheets("车型").Select
x = 2
Do Until Sheets("数据录入表").Cells(x, "A") = ""
a = Sheets("车型").Cells(65536, "A").End(xlUp).Row
For i = 1 To Sheets("数据录入表").Cells(x, "C")
Sheets("车型").Cells(a + i, "A") = Sheets("数据录入表").Cells(x, "B")
Sheets("车型").Cells(a + i, "B") = Sheets("数据录入表").Cells(x, "A")
Next i
Loop
End Sub追问

已测试,跳转正确,但不输出任何数据,你测试的时候可以用ABCD等代替我的数据

追答

你的数据录入表是由第几行开始的呢?看样子应该是由第4行开始的,那么请把x=2改成x=4即可!

追问

恩,是从第四行开始的。
是两种输出格式,不是一种。
还有,车型的输出只想使用A4单元格的班次,A列除A4以外的其他单元格的数据均为无关相,可有可无。

追答

代码已改:
Sub 车型()
Dim x As Integer
Dim i As Integer
Dim a As Integer
Sheets("车型").Select
x = 4
Do Until Sheets("数据录入表").Cells(x, "A") = ""
a = Sheets("车型").Cells(65536, "A").End(xlUp).Row
For i = 1 To Sheets("数据录入表").Cells(x, "C")
Sheets("车型").Cells(a + i, "A") = Sheets("数据录入表").Cells(x, "B")
Sheets("车型").Cells(a + i, "B") = Sheets("数据录入表").Cells(4, "A")
Next i
Loop
End Sub

追问

测试发现,车型宏中,当A5、A6、A7.......A(N)没有数据时,只输出第4行的图号,其他图号没有输出。我们要求只要A4有数据,后面图号的都调用A4的班次,A5往下单元格为空也不影响输出结果,这个跟管束宏不太一样。
还有,每次输出都删除前一次输出的所有内容,就是点击宏后先清空工作表再输出内容。

追答

1。也就是说“数据录入表”里A列可能只有A4有数据对不?大哥!麻烦你可以自己研究一下的嘛!
你把Do Until Sheets("数据录入表").Cells(x, "A") = ""改成Do Until Sheets("数据录入表").Cells(x, "C") = ""就可以啦!!!不过你要确保“数据录入表”里每一行你要输出行的C列都不为空。
2。Sheets("车型").Select下面插入Sheets("车型").Cells.ClearContents这条语句即可实现先清空工作表再输出内容。管束宏同理!

追问

大哥,我要懂一句都是上辈子学的,这辈子就看懂了个End,其他完全是柬埔寨语一样,都是些虫子。我自己再试下!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-21
根据什么条件输出?
Q422714303追问

就是照1图样子输入,输出成2图和3图样子就行,没有变量,就相当于对图号和班次进行相应数量的排列而已。

相似回答