• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロで自動的に計算式に値を取得させたい)

マクロで自動的に計算式に値を取得させる方法

このQ&Aのポイント
  • マクロを使用して、Excelの計算式に値を自動的に取得させる方法を教えてください。
  • 特定の条件を満たすExcelデータを自動的に他のシートに複製するマクロの作成方法を教えてください。
  • マクロを使用し、Excelのデータをループ処理して特定の条件に基づいて他のシートにコピーする方法を教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

どんな数式を記入すれば1行おきに参照させられるのか、考えます。 sub macro1()  dim lastrow as long  lastrow = worksheets("Sheet1").range("A65536").end(xlup).row  worksheets("Sheet2").range("A1").formula = "=INDEX(Sheet1!A:A,ROW(A2)/2)"  worksheets("Sheet2").range("A1:A2").copy worksheets("Sheet2").range("A1").resize(lastrow * 2, 1) end sub もっともマクロを使うなら、考えていた通りの数式を「書かせる」事も容易です。 sub macro2()  dim r as long  for r = 1 to worksheets("Sheet1").range("A65536").end(xlup).row   worksheets("Sheet2").cells(r * 2 - 1, "A").formula = "=Sheet1!A" & r  next r end sub

hiro7th
質問者

お礼

無事組めました。ありがとうございました。 まだまだ勉強していかなくては!と感じました。

その他の回答 (1)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

Sub ボタン1_Click() For i = 1 To Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row Sheets("Sheet2").Range("A" & i * 2 - 1).Value = Sheets("Sheet1").Range("A" & i).Value Next End Sub こんな感じでしょうか。

関連するQ&A