返回列表 上一主題 發帖

[發問] 從儲存格左邊開始搜尋字串

試試看:
  1. Sub test()
  2.     [B:B] = ""
  3.     For i = 1 To [A65536].End(xlUp).Row
  4.         For j = 1 To [C1].End(xlDown).Row
  5.             c = InStr(Cells(i, 1), Cells(j, 3))
  6.             If c > 0 Then
  7.                  Cells(i, 2) = Cells(j, 3)
  8.             End If
  9.         Next
  10.     Next
  11. End Sub
複製代碼

TOP

補圖
test.gif

TOP

沒考慮到 全取出,
全取出如下:
  1. Private Sub CommandButton1_Click()
  2.     Dim I As Integer, J As Integer, Col1 As Integer, Num As Integer
  3.     [B:H] = ""
  4.     For I = 1 To [A65536].End(xlUp).Row
  5.         Col1 = 2
  6.         For J = 1 To [J1].End(xlDown).Row
  7.             Num = InStr(Cells(I, 1), Cells(J, 10))
  8.             If Num > 0 Then
  9.                  Cells(I, Col1) = Cells(J, 10)
  10.                  Col1 = Col1 + 1
  11.             End If
  12.         Next
  13.     Next
  14. End Sub
複製代碼
test.gif

TOP

本帖最後由 yen956 於 2015-11-25 19:59 編輯

還是准版大的公式利害!!
由左至右依序全取出:
  1. Private Sub CommandButton1_Click()
  2.     Dim I As Integer, J As Integer
  3.     Dim Col1 As Integer, Num As Integer
  4.     [B:H] = ""
  5.     For I = 1 To [A65536].End(xlUp).Row
  6.         For J = 1 To [J1].End(xlDown).Row
  7.             Num = InStr(Cells(I, 1), Cells(J, 10))
  8.             If Num > 0 Then
  9.                  Cells(J, 11) = Num
  10.             Else
  11.                  Cells(J, 11) = 10000
  12.             End If
  13.         Next
  14.         [J:K].Sort Key1:=Range("K1"), Order1:=xlAscending, Header:=xlNo
  15.         Col1 = 2
  16.         For J = 1 To [J1].End(xlDown).Row
  17.             If Cells(J, 11) < 9999 Then
  18.                 Cells(I, Col1) = Cells(J, 10)
  19.                 Col1 = Col1 + 1
  20.             End If
  21.         Next
  22.     Next
  23.     [K:K] = ""
  24. End Sub
複製代碼
test.gif

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題