Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
123
返回列表 发新帖
楼主: aj1314520

[已解决]求助!VBA编译错误!

[复制链接]
发表于 2012-7-14 18:28 | 显示全部楼层
本帖最后由 zjdh 于 2012-7-14 18:30 编辑

搞不懂你啦
If y = 1 Then Val (Mid(Sheets("数据库").Range("A" & i).Text, 4, 3))
只是啥语句,i 参数哪儿来?若由上一循环得到,那已被Else隔离啦
这句语句Val (Mid(Sheets("数据库").Range("A" & i).Text, 4, 3))结果给谁?


Newrow = Sheets("数据库").Range("A65536").End(xlUp).Row
  If Newrow >= 2 Then
只要("数据库")有记录Newrow必定>=2,就不可能再产生编码啦!
回复

使用道具 举报

发表于 2012-7-15 08:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zjdh 于 2012-7-15 08:59 编辑

在你的基础上修改:
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:B" & W)
        For I = 1 To UBound(Brr)
            If LSH < Val(Mid(Brr(I, 1), 4, 3)) Then LSH = Val(Mid(Brr(I, 1), 4, 3))
            If Brr(I, 2) = TextBox1.Text 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
回复

使用道具 举报

发表于 2012-7-15 08:23 | 显示全部楼层
aj1314520 发表于 2012-7-14 20:06
就是因为做不出要的那个效果,所以一直在测试,就是生成不了~~~急死人了。呜呜,那个数据都是错误的,不是 ...

传个附件还用错误数据!晕
回复

使用道具 举报

发表于 2012-7-15 00:05 | 显示全部楼层
貌似正解还没出来,等待中
回复

使用道具 举报

 楼主| 发表于 2012-7-15 09:54 | 显示全部楼层
zjdh 发表于 2012-7-15 08:23
传个附件还用错误数据!晕

大哥,要再麻烦您一下,上级昨天下了一个新的指令,需要对产品类型那里分别流水...
,就是打开这个界面时我选择那个产品类型,能否每种都是从001开始流水,如选择USB-A型公头时是从001开始流水然后递增,选择USB-A型母头时也是从001开始然后递增,之前的品名相同时,采用相同流水号的功能需保留!!!!周日还在麻烦您,深感抱歉!!!


回复

使用道具 举报

 楼主| 发表于 2012-7-15 09:43 | 显示全部楼层
zjdh 发表于 2012-7-15 08:48
在你的基础上修改:
Private Sub CommandButton8_Click()    '生成编码
    If ComboBox1cd.Value = "" O ...

非常感谢ZJDH大哥对俺的帮助,成功实现了困扰了我一个星期的事情,再次表示感谢,您是一个好心人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-8 19:32 , Processed in 0.550709 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表