|
▼事務員 さん:
A6がA1でしたね・・・失礼しました。当方A6でテストしていたものですから、
訂正できずに失礼しました。
>正しく動くことを確認できました。
>もし抽出条件入力のところで、8桁数字でない場合は、「入力直してください」という
>メッセージをだすには、どのように書けば、可能になるでしょうか?
ponpon様のコードをそのまま利用させていただければ、如何ですか?
下のコードを貼り付けて動かしてください。これでいけると思います。
A1に訂正していると思いますが、間違っていたら直してください。
Sub test5()
Dim ret
Application.ScreenUpdating = True
Do
ret = Application.InputBox(Prompt:="8桁の数値を入力してください", _
Title:="Let's Excel VBA", Default:="8桁の数字を入力", Type:=1)
Loop Until Len(ret) = 8 '・・・ここに桁数を指定してください
Sheets("SheetB").Cells.ClearContents
With Sheets("SheetA")
.Range("A1").AutoFilter Field:=1, Criteria1:=ret
If .Range("C:C").SpecialCells(xlCellTypeVisible).Rows.Count = 1 Then
MsgBox "該当する数字ではありません"& chr(10) & "入力し直してください"
.Range("A1").AutoFilter
Exit Sub
Else
.AutoFilter.Range.Copy Sheets("SheetB").Range("A1")
End If
.Range("A1").AutoFilter
End With
Application.ScreenUpdating = True
End Sub
|
|