- ベストアンサー
Excelマクロについて
マクロについて質問をさせていただきます。 A1~10にデータが入力されています。 その中である特定の文字が入っている行をシート2にコピー(移動でもかまいません)するようなマクロはどのように作成すればよろしいでしょうか?? 宜しくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
たとえば、シート1のA1~A10のうち、"あうー"という文字列が入っている行を シートに転記、なら、下記のようになります。 Findメソッドを使います。 Sub Macro1() With Worksheets(1).Range("a10") Set c = .Find("か", LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address Do c.EntireRow.Copy Sheets("sheet2").Range("a65536").End(xlUp).Offset(1) Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> firstAddress End If End With End Sub
その他の回答 (3)
- marbin
- ベストアンサー率27% (636/2290)
たびたびの訂正すみません。 #2のマクロで With Worksheets(1).Range("a10") は With Worksheets(1).Range("a1:a10") の間違いでした。 失礼しました。
- marbin
- ベストアンサー率27% (636/2290)
#2です。 回答の記述の中で間違いがありました。 "あうー"と書いたにもかかわらず、 マクロ記述の中では "か"と書いてました。 "あうー"を"か"と読み替えてください。 ややこしくてすみません。
- shishishishi
- ベストアンサー率39% (362/921)
A1~10の各セルのデータに「あ」という文字があったら、そのセルのデータをSheet2のA列に転記するマクロです。 Sub test() Dim i As Integer, n As Integer n = 1 For i = 1 To 10 If InStr(Cells(i, "A"), "あ") Then Sheets("Sheet2").Cells(n, "A") = Cells(i, "A") n = n + 1 End If Next End Sub