• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ セル情報を変数に代入するには?)

マクロ セル情報を変数に代入するには?

このQ&Aのポイント
  • FINDで抽出した作業状態のセル位置情報を起点にして、作業名の横のセル情報と作業箇所の横のセル情報を取得し、変数に代入したのですが、作業箇所の横のセル情報がうまく代入されません。
  • 選択できているのに、どうしてセル情報が変数に代入できないのでしょうか?
  • マクロを修正してみましたが、うまく代入されません。どのように修正すれば良いでしょうか?

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

単に作業名と作業箇所のデータを得たいのでしたら次のようなマクロで良いでしょう。 Sub 作業状態のエリアを作業名別に各シートに貼り付ける() Dim c As Range Dim n As Integer Dim 作業名, 作業箇所 As String With Worksheets("書面").Columns("A:D") Set c = .Find(what:="作業状態", LookIn:=xlValues, lookat:=xlWhole) If c Is Nothing Then Exit Sub n = c.Row 作業名 = Cells(n, 3) 作業箇所 = Cells(n + 2, 3) End With End Sub

kero1192kero
質問者

お礼

さっそく貼り付けて確認してみました。 すこし変更して自分が思っていた通りの結果になりました。 [変更点] 作業名 = Cells(n, 11) 作業箇所 = Cells(n + 2, 11) FINDで抽出した情報から行情報を取り出す事が解決への方法だったんですね。勉強になりました。ありがとうございました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。 B列からの表でしたね。それでしたら次のようなマクロになりますね。 Sub 作業状態のエリアを作業名別に各シートに貼り付ける() Dim c As Range Dim n As Integer Dim 作業名, 作業箇所 As String With Worksheets("書面").Columns("B:D") Set c = .Find(what:="作業状態", LookIn:=xlValues, lookat:=xlWhole) If c Is Nothing Then Exit Sub n = c.Row 作業名 = Cells(n, 4) 作業箇所 = Cells(n + 2, 4) End With End Sub

kero1192kero
質問者

お礼

さっそく貼り付けて確認してみました。 すこし変更して自分が思っていた通りの結果になりました。 [変更点] 作業名 = Cells(n, 11) 作業箇所 = Cells(n + 2, 11) FINDで抽出した情報から行情報を取り出す事が解決への方法だったんですね。勉強になりました。ありがとうございました。

関連するQ&A