|
▼くら さん:
>Sheet2の表は以下のようなかんじで
>商品名 型番 機番 商品コード
>軽自 I2-K 1 2001
>普通自 I3-F 2 3002
>トラック I5-H 4 5004
>電気自 I4-B 6 4006
>トラック I5-M 9 5009
>軽トラ IP2-G 8 2108
>検索ワードの想定ではトラや3002というワードで検索したいと考えています。
全角で「半角の商品コード」を検索するわけですか?
微調整で、以下のようにしてみてください
'-----------------------------------------------------------
Option Explicit
Private FRange As Range 'FilterRange
Private WkSheet As Worksheet '作業シート(非表示)
Private Sub UserForm_Initialize()
Set FRange = Worksheets(2).[A1].CurrentRegion
On Error Resume Next
Set WkSheet = Worksheets("Temp")
On Error GoTo 0
If WkSheet Is Nothing Then
With Worksheets
Set WkSheet = .Add(After:=.Item(.Count))
End With
WkSheet.Name = "Temp" '◆この行 追加を忘れていました m(_ _)m
WkSheet.Visible = xlSheetHidden
End If
ListBox1.ColumnCount = 4
End Sub
Private Sub CommandButton1_Click()
Dim ss As String
ss = TextBox1.Text
If Len(ss) < 1 Then Exit Sub
ss = StrConv(ss, vbNarrow)
If IsNumeric(ss) Then '数値化可能なら 4列目
FRange.AutoFilter 4, ss
Else 'でなければ、1列目をAutoFilter
FRange.AutoFilter 1, "*" & ss & "*"
End If
If FRange.Columns(1).SpecialCells(xlVisible).Count > 1 Then
WkSheet.UsedRange.Clear
Intersect(FRange, FRange.Offset(1)).Copy WkSheet.[A1]
ListBox1.List = WkSheet.[A1].CurrentRegion.Value
End If
FRange.AutoFilter
End Sub
|
|