• ベストアンサー

指定した文字までコピーするマクロ

マクロ教えてください。 セルのA1からA列の『以上』という文字の所までを選択して、コピーするマクロを教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! すでに回答は出ていますので、参考程度で・・・ B列にコピー&ペーストするようにしてみました。 Sub test() Dim i As Long i = 1 If WorksheetFunction.CountIf(Columns(1), "以上") Then Do Until Cells(i, 1) = "以上" i = i + 1 Loop Range(Cells(1, 1), Cells(i, 1)).Copy Cells(1, 2).Select ActiveSheet.Paste Application.CutCopyMode = False End If End Sub こんな感じではどうでしょうか?m(_ _)m

pinapina
質問者

お礼

ありがとうこざいました。 無事に教えて頂いたマクロを参考に、思い通りのマクロが組めました。 感謝します。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

Sub test02() R = Range("A:A").Find("以上").Row MsgBox R '確認用 Range("A1:A" & R - 1).Copy Range("D1") End Sub 「以上」の行含まず、とする。

pinapina
質問者

お礼

ありがとうございました。 エラーになってしまいましたが、とても参考になりました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 紛らわしいコードが有りましたので訂正します。 Set findcell = Range("A:A").Find(What:="以上") If findcell Is Nothing Then Exit Sub Range("a1", findcell).Copy Range("b1")

pinapina
質問者

お礼

ありがとうございました。 エラーになってしまいましたが、参考になりました。 無事に思い通りのマクロが組めました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 仮に「以上」が無い場合はExit、有ればB1以下にコピーしています。 Set findcell = Range("A:A").Find(What:="以上") If findcell Is Nothing Then Exit Sub Range(Range("A1"), findcell).Copy Range("b1")

関連するQ&A