VB想实现这种结果.

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:59:13
41 38 01 25 16 02 28 17 45 24
提取文本框3,4,5的含有文本框1中数字的行到文本框2,
另外文本框5需要提取20次,如图

36 07 12 39 10 19 46 29 06 27
18 37 30 26 08 31 21 14 09 44
23 35 13 11 20 22 03 33 42 49
04 05 15 32 34 40 43 47 48

07 13 34 41 47 49 25 37 28
06 43 22 30 46 18 09 01
45 39 19 11 33 36 16 38
48 02 21 27 04 44 31 10
08 23 35 29 12 42 05 32
03 14 15 17 20 24 26 40

26 03 21 36
43 42 44 47
33 20 28 49
10 30 35 45
17 07 41 34
05 01 37 09
25 15 39 18
11 40 46 38
14 19 08 27
13 23 32 12
04 24 48
22 02 31
06 16 29
http://i3.6.cn/cvbnm/06/ac/1f/718ba3a36986641d38aff4ffbda68aea.jpg

也就是提取20次嘛,复制20个.文本框3,4,只提取1次,而文本框5重复提取20次.
看图啊,图里面很清楚.

Dim i As Integer, j As Integer

Private Sub Command1_Click()
Dim strArr() As String
Text2.Text = ""
Tiqu Text3.Text, Text1.Text
Tiqu Text4.Text, Text1.Text
For j = 1 To 20
Tiqu Text5.Text, Text1.Text
Next
strArr = Split(Text2.Text, vbCrLf)
Form1.Caption = "共有 " & UBound(strArr) & "行数据"
End Sub
Sub Tiqu(a As String, b As String)
Dim strArr() As String
Dim i As Integer
strArr = Split(a, vbCrLf)
For i = LBound(strArr) To UBound(strArr)
If InStr(strArr(i), b) > 0 Then
Text2.Text = Text2.Text & strArr(i) & vbCrLf
End If
Next i
End Sub

完美解决!!!!!!!!!!! 楼主注意,简单快捷。而且有提示。

Private Sub Command1_Click()
If Text1.Text = "" Then Exit Sub
a = Split(Text3.Text, vbCrLf)
b = Split(Text4.Text, vbCrLf)
c = Split(Text5.Text, vbCrLf)
For n = 0 To UBound(a)
If InStr(a(n), Text1.Text) > 0 Then