|
▼Jaka さん、事務員さん こんばんは。
>「20060902」を入力したら、結果はでません。
とは?
コピペされない?
エラーが出る。→エラーメッセージを教えてください。
A B C D E
1 項目1 項目2 項目3 項目4 項目5
2 20060901 あ 1 11 101
3 20060901 い 2 12 102
4 20060902 う 3 13 103
5 20060903 え 4 14 104
6 20060904 お 5 15 105
7 20060905 か 6 16 106
8 20060906 き 7 17 107
9 20060907 く 8 18 108
10 20060908 け 9 19 109
11 20060909 こ 10 20 110
12 20060901 さ 11 21 111
13 20060901 し 12 22 112
このようになっているとして、
>原因がわかってませんけど、こっちのが良くないですか?
そのようにしました。
Sub test()
Dim ret
Application.ScreenUpdating = True
Do
ret = Application.InputBox(Prompt:="適当に文字や数値を入力してみてください", _
Title:="Let's Excel VBA", Default:="ここに入力します", Type:=1)
Loop Until Len(ret) = 8 'ここに桁数を指定してください
Sheets("SheetB").Cells.ClearContents
With Sheets("SheetA")
.Range("A1").AutoFilter Field:=1, Criteria1:=ret, Operator:=xlAnd
If .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count = 1 Then
MsgBox "該当する数字はありません"
.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
これで実行すると、
ちゃんとコピペされますが・・・
WinXP Excel2003です。
新規ブックにて試してみてください。
|
|