|
发表于 2012-7-15 10:51
|
显示全部楼层
本楼为最佳答案
本帖最后由 zjdh 于 2012-7-15 11:01 编辑
Private Sub CommandButton8_Click() '生成编码
If ComboBox1cd.Value = "" Or ComboBox2xlfn.Value = "" _
Or ComboBox3xz.Value = "" Or ComboBox5xnfn.Value = "" Or ComboBox6pppai.Value = "" Or ComboBox4cdxn.Value = "" Then
MsgBox "【编码选择信息】为必填项,请输入完整!"
Exit Sub
Else
Dim Arr(1 To 7)
Windows("编码库.xls").Visible = True
With Sheets("参数")
Arr(1) = Format(Application.WorksheetFunction.VLookup(ComboBox1cd.Value, .Range("A2", "B" & EndrowA), 2, 0), "0")
Arr(2) = Format(Application.WorksheetFunction.VLookup(ComboBox2xlfn.Value, .Range("D2", "E" & EndrowD), 2, 0), "00")
Arr(4) = Format(Application.WorksheetFunction.VLookup(ComboBox5xnfn.Value, .Range("J2", "K" & EndrowJ), 2, 0), "00")
Arr(5) = Format(Application.WorksheetFunction.VLookup(ComboBox6pppai.Value, .Range("M2", "N" & EndrowM), 2, 0), "00")
Arr(6) = Format(Application.WorksheetFunction.VLookup(ComboBox4cdxn.Value, .Range("P2", "Q" & EndrowP), 2, 0), "00")
Arr(7) = Format(Application.WorksheetFunction.VLookup(ComboBox3xz.Value, .Range("S2", "T" & EndrowS), 2, 0), "0")
End With
W = Sheets("数据库").Range("A65536").End(3).Row
If W = 1 Then LSH = 1: GoTo 10
Brr = Sheets("数据库").Range("A2:F" & W)
For I = 1 To UBound(Brr)
If Brr(I, 6) = ComboBox2xlfn.Value And LSH < Val(Mid(Brr(I, 1), 4, 3)) Then LSH = Val(Mid(Brr(I, 1), 4, 3))
If Brr(I, 2) & Brr(I, 6) = TextBox1.Text & ComboBox2xlfn.Value Then LSH = Val(Mid(Brr(I, 1), 4, 3)): GoTo 10
Next
LSH = LSH + 1
10 Arr(3) = Format(LSH, "000")
TextBox4.Text = Join(Arr, "")
TextBox4.Enabled = False
TextBox4.BackColor = &H80000003
End If
Windows("编码库.xls").Visible = False
End Sub |
|