プロが教えるわが家の防犯対策術!

Excel 2010を利用しています。
Sub Sample1()
Dim FoundCell As Range
Set FoundCell = Cells.Find(what:=" 090")
If FoundCell Is Nothing Then
MsgBox "見つかりません"
Else
Range("H1") = FoundCell
End If
End Sub

やりたいことは、sheet1のA列のみに表示されているシート上の、070、080、090の番号を全て検索して、sheet1のRange("H1") から順に下へ表示したいのです。
上記コード参考に変更しようとしましたが、

不明点
① Set FoundCell = Cells.Find(what:=" 090")に、070と080を組み合わせること。
②Range("H1") から下へ順番に表示する方法です。
for eachを書籍で調べましたが、わかりません。

お手数ですが、ご教示お願いします。

A 回答 (1件)

Sub Sample1()


 Dim r As Range
 Dim i As Long
 i = 1
 For Each r In Intersect(Sheet1.UsedRange, Sheet1.Range("A:A"))
  If r.Text Like "*070*" Or r.Text Like "*080*" Or r.Text Like "*090*" Then
   Sheet1.Range("H" & CStr(i)).Formula = "=" & r.Address
   i = i + 1
  End If
 Next r
End Sub

1. Find() はワイルドカード検索 "0?0" もできますが、ここでは使用していません。
2. Range("H1") = FoundCell の意図が分かりませんでした。
3. Sheet1 を使っています。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2016/09/19 18:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!