返回列表 上一主題 發帖

請問不知可否寫程式帶出可用機台

請問不知可否寫程式帶出可用機台

將ID輸入後,B16,B17,B18可以自動帶出來,如果無法寫在同一格儲存格,分開也可以。麻煩大大們幫看看。 ID.zip (5.72 KB)

回復 2# luhpro


    好想要阿~~但怎麼下載不了\
titan

TOP

回復 3# 准提部林


    謝謝樓上二位,可以用了,感謝

TOP

若是機台不多,可考慮自訂函數,彈性較佳:
Function GET_V(xArea As Range, xA$) As String
Dim Arr, T$, i&
Arr = xArea.Value
For i = 1 To UBound(Arr)
  If Arr(i, 1) = xA And Left(Arr(i, 3), 3) <> "non" Then T = T & "," & Arr(i, 2)
Next i
If T = "" Then GET_V = "無" Else GET_V = Mid(T, 2)
End Function
 
公式用法:
=get_v(A$2:C$12, A16)
=get_v(資料範圍, 查詢ID)

寫程式帶出可用機台-v01.rar (12.52 KB)
另一載址:http://www.funp.net/731903

TOP

回復 1# Qektyyrwp

  1. Sub nn()
  2. Dim lRow&
  3. Dim vD, vTemp

  4. Set vD = CreateObject("Scripting.Dictionary")

  5. lRow = 2
  6. While Cells(lRow, 1) <> ""
  7.    If Left(Cells(lRow, 3), 4) <> "nona" Then ' 可用才加入
  8.      If vD.exists(CStr(Cells(lRow, 1))) Then
  9.        If vD(CStr(Cells(lRow, 1))) = "" Then
  10.          vD(CStr(Cells(lRow, 1))) = Cells(lRow, 2)
  11.        Else
  12.          vD(CStr(Cells(lRow, 1))) = vD(CStr(Cells(lRow, 1))) & "," & Cells(lRow, 2)
  13.        End If
  14.      Else
  15.        vD(CStr(Cells(lRow, 1))) = Cells(lRow, 2)
  16.      End If
  17.    Else
  18.      vD(CStr(Cells(lRow, 1))) = ""
  19.    End If
  20.    lRow = lRow + 1
  21. Wend

  22. [A16:B50].Clear
  23. lRow = 16
  24. For Each vTemp In vD
  25.    Cells(lRow, 1) = vTemp
  26.    If vD(vTemp) <> "" Then
  27.      Cells(lRow, 2) = vD(vTemp)
  28.    Else
  29.      Cells(lRow, 2) = "無"
  30.    End If
  31.    lRow = lRow + 1
  32. Next
  33. End Sub
複製代碼
寫程式帶出可用機台-a.zip (13.92 KB)

TOP

        靜思自在 : 每天無所事事,是人生的消費者,積極、有用才是人生的創造者。
返回列表 上一主題