- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 8# cbl0924
回復 18# ML089
純用公式會比較慢一些,可試試 純VBA看看
8#檔案 Sheet3模組的程式碼- Option Explicit
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim Ar(), Ar_List As Variant
- If Target.Address(0, 0) = "F8" Then 'F8儲存閣內容大小是有區別的
- Ar = Application.WorksheetFunction.Transpose(Range("B2", Range("B2").End(xlDown)).Value)
- Ar_List = Filter(Ar, [f8], True)
- 'Filter 函數 傳回一個從零開始的陣列,該陣列包含基於指定篩選準則的一個字串陣列的子集。
- If UBound(Ar_List) > -1 Then
- Ar_List = Join(Ar_List, ",")
- Else
- Ar_List = Join(Ar, ",")
- End If
- With Target.Validation
- .Delete
- .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
- xlBetween, Formula1:=Ar_List
- .ShowError = False
- End With
- End If
- End Sub
複製代碼 |
|