- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2015-11-4 14:01
| 只看該作者
回復 3# man65boy
UserForm3,UserForm4
都有- Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
- a1 = ListBox1.Value
- ActiveCell = IIf(ActiveCell = "", a1, ActiveCell & "、" & a1)
- End Sub
複製代碼 表示可複選
建議
UserForm4- Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
- Dim A As String, Ar As Variant
- A = UCase(ListBox1.Value)
- Ar = Filter(Split(ActiveCell, "、"), A)
- If UBound(Ar) = -1 Then 'ListBox1.Value 不在 ActiveCell中
- Ar = Application.Evaluate("VLOOKUP(""" & A & """,產品編號!a:b,2,0)")
- If IsError(Ar) Then '找不到使用規格或使用規格=""
- MsgBox A & " 找不到使用規格 或 使用規格 = """""
- Else
- T = IIf(T <> "", T & "、" & MM, MM)
- ActiveCell = UCase(IIf(ActiveCell = "", A, ActiveCell & "、" & A))
- End If
- Else
- MsgBox A & "已選擇"
- End If
- End Sub
複製代碼 工作表模組- Private Sub Worksheet_Change(ByVal Target As Range)
- Ex Target, False
- End Sub
- Private Sub Worksheet_SelectionChange(ByVal Target As Range)
- Ex Target, True
- End Sub
- Private Sub Ex(ByVal Target As Range, Form_Show As Boolean)
- Application.EnableEvents = False
- With Target
- If .Count = 1 And .Row >= 2 Then
- If .Column = 6 Then
- 編號 .Cells, Sheets("產品編號")
- If Form_Show Then UserForm4.Show False
- ElseIf .Column = 13 Then
- 編號 .Cells, Sheets("Sheet1")
- If Form_Show Then UserForm3.Show False
- End If
- End If
- End With
- Application.EnableEvents = True
- End Sub
- Private Sub 編號(ByVal Target As Range, Sh As Worksheet)
- Dim Ar As Variant, e As Variant, MM As Variant, T As String
- Dim Rng As Range
- Set Rng = Sh.Range("A:B")
- Ar = Split(Target, "、")
- Ag:
- For Each e In Ar
- MM = Application.Evaluate("VLOOKUP(""" & e & """," & Rng.Address(, , , 1, 1) & ",2,0)")
- If IsError(MM) Then Exit For
- T = IIf(T <> "", T & "、" & MM, MM)
- Next
- If IsError(MM) Then GoTo Er:
- If Sh.Name = "產品編號" Then
- Target.Offset(, 1) = T
- Else
- Target = T
- End If
- Exit Sub
- Er:
- Ar = Filter(Ar, e, False)
- Target = Join(Ar, "、")
- T = ""
- If e = "" Then Exit Sub
- GoTo Ag
- End Sub
複製代碼 |
|