返回列表 上一主題 發帖

[發問] 關於此段程式碼的改進以及說明?

回復 8# GBKEE

已附上檔案~再請版大幫忙看看
    跳菜-變數.rar (183.14 KB)

TOP

回復 2# GBKEE

突然想到..
用同一個變數即可..不用用到A與Q ,目前已解決~但這方式好像速度慢很多
之前版大提供的方式,一個一個位置去設定速度快上很多!雖然眼都快瞎了。。。
  1.   Sub 跳禁忌()
  2.     Dim arr(), str As String, brr() As String, I As Integer, A As Integer
  3.     Dim S As Variant, E As Integer

  4.             str = Sheets("快速輸入").[B3].Value
  5.             For A = 1 To 1000
  6.             arr = Sheets("菜單(勿動)").[c1].CurrentRegion.Rows(A).Value
  7.             
  8.    
  9.             
  10.         
  11.             For I = 2 To UBound(arr, 2) Step 2
  12.                 S = Split(str, ",")
  13.                 ReDim brr(0 To UBound(S))
  14.                 For E = 0 To UBound(S)
  15.                     If InStr(arr(1, I), S(E)) Then brr(E) = "禁忌"
  16.                 Next
  17.                 S = Join(brr, "")
  18.                 If S = "" Then
  19.                     Sheets("工作表2").Range("B" & A) = arr(1, I - 1)
  20.                     Exit For
  21.                 End If
  22.             Next
  23.             
  24.             With Sheets("工作表2").Range("B" & A)
  25.                 If .Value = "" Then
  26.                     'MsgBox "查不到結果"
  27.                 Else
  28.                     'MsgBox "最後有 " & .Value & "為:" & arr(1, I)
  29.                 End If
  30.             End With
  31.         Next

  32. End Sub
複製代碼

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題