我想創建700個texboks,其值取自vlookup vb函數。但達到300後,我可以警告過多的程序。需要在vba中簡化vlookup命令的文本框值
Private Sub Extra_Change()
Dim ycNo As Integer
If Me.NumberLook.Value = "" Then
MsgBox "bla..bla..bla!!!", vbExclamation, "some text"
Exit Sub
End If
ycNo = NumberLook.Value
Me.TextBox1.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 3, 0)
Me.TextBox2.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 4, 0)
Me.TextBox3.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 5, 0)
Me.TextBox4.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 6, 0)
Me.TextBox5.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 7, 0)
Me.TextBox6.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 8, 0)
Me.TextBox7.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 9, 0)
Me.TextBox8.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 10, 0)
Me.TextBox9.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 11, 0)
Me.TextBox10.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 12, 0)
Me.TextBox11.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 13, 0)
Me.TextBox12.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 14, 0)
Me.TextBox13.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 15, 0)
Me.TextBox14.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 16, 0)
Me.TextBox15.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 17, 0)
Me.TextBox16.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 18, 0)
Me.TextBox17.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 19, 0)
Me.TextBox18.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 20, 0)
Me.TextBox19.Value = Application.WorksheetFunction.VLookup(ycNo, Worksheets("mapel1").Range("A1:AAX55"), 21, 0)
...
...
...
to 700
也許有人能解決這個問題..
太多了,我認爲這可能是一點點縮短 –