请教如何才能在一张EXCEL中的
要编个程序,我经常做配件的流水帐。明天给你做。
建个模块,还要设置 工具-->选项-->安全性-->宏安全性(下方按钮)-->安全级(设为低级) OK
Sub 流水帐()
Dim Gzb(1 To 255, 1 To 255), N, Lsz(1 To 1000, 1 To 20), M, Hs, Response
'1。 查找工作表数量/名称/检索内容
For i = 1 To Worksheets。Count
N = N + 1
Gzb(i, 1) = Worksheets(i)。 Name
Gzb(i, 2) = Mid(Worksheets(Gzb(i, 1))。Cells(2...全部
要编个程序,我经常做配件的流水帐。明天给你做。
建个模块,还要设置 工具-->选项-->安全性-->宏安全性(下方按钮)-->安全级(设为低级) OK
Sub 流水帐()
Dim Gzb(1 To 255, 1 To 255), N, Lsz(1 To 1000, 1 To 20), M, Hs, Response
'1。
查找工作表数量/名称/检索内容
For i = 1 To Worksheets。Count
N = N + 1
Gzb(i, 1) = Worksheets(i)。
Name
Gzb(i, 2) = Mid(Worksheets(Gzb(i, 1))。Cells(2, 1), 6, 20) _
& Mid(Worksheets(Gzb(i, 1))。
Cells(2, 5), 6, 20) _
& Mid(Worksheets(Gzb(i, 1))。Cells(2, 9), 4, 20)
Next
'2。
查找流水帐行数/内容/检索内容
For i = 3 To 1000
If Worksheets("总录入")。Cells(i, 1) <> "" Then
M = M + 1
For j = 1 To 10
Lsz(M, j) = Worksheets("总录入")。
Cells(i, j)
Next
Lsz(M, 12) = Lsz(M, 6) & Lsz(M, 7) & Lsz(M, 8)
Else: Exit For
End If
Next
'3。
查找产品对应的工作表/工作表的新行位置
For i = 1 To M
For j = 1 To N
If Gzb(j, 2) = Lsz(i, 12) Then
Hs = 0
For k = 5 To 35
If Worksheets(Gzb(j, 1))。
Cells(k, 2) = "" And k = 35 Then
Response = MsgBox("工作表满了", vbYes, "工作表:满了30栏!", "DEMO。
HLP", 1000)
Worksheets(Gzb(j, 1))。Select
Exit Sub
End If
Next
Worksheets(Gzb(j, 1))。
Cells(k, 2) = Month(Lsz(i, 2))
Worksheets(Gzb(j, 1))。Cells(k, 3) = Day(Lsz(i, 2))
Worksheets(Gzb(j, 1))。
Cells(k, 4) = Lsz(i, 5)
Worksheets(Gzb(j, 1))。Cells(k, 5) = Lsz(i, 9)
Worksheets(Gzb(j, 1))。
Cells(k, 6) = Lsz(i, 3)
Worksheets(Gzb(j, 1))。Cells(k, 7) = Lsz(i, 4)
Worksheets(Gzb(j, 1))。
Cells(k, 9) = Lsz(i, 10)
Exit For
End If
Next
Next
Worksheets("总录入")。
保存。Visible = False
End Sub
。收起