• ベストアンサー

エクセルのデータ入力をマクロで行う方法は?

はじめまして。初めて質問させていただきます。 Excelで作業を行っていたのですが、マクロ(VBA?)で分からないことが出てきました。 Sheet1のQ6セルとQ7セルが結合されています。そこにはデータ(数式)が入力されています。 同様に、Q8とQ9、Q10とQ11・・・というように、データ(数式)が続いています。データ数は300個です。 他のシート(Sheet2)の A4セルから下に、先程のQ6セルのデータ A5セルにQ8のデータ・・・ というように書きたいのです。 これをマクロを組んで行うことは出来るのでしょうか? さらに、Sheet1で数式だったデータを文字列で保存できるとなお嬉しいです。 マクロ初心者ですいませんが、皆様のお知恵をお貸しください。よろしくお願いいたします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

一応マクロというご指定なので・・・・ 300データということはSheet2はQ604とQ605の結合セルが最後なのですね? Sub test() n = 4 For i = 6 To 604 Step 2 Sheets("Sheet2").Cells(n, "A").Value = Sheets("Sheet1").Cells(i, "Q").Value n = n + 1 Next End Sub

caseof2006
質問者

お礼

ありがとうございました。 お教えいただいた方法で出来ました。 まだマクロ勉強2日目ですが、頑張って覚えていきたいと思います。 また機会がありましたら、よろしくお願いいたします。

その他の回答 (1)

  • j_nishiz
  • ベストアンサー率26% (183/697)
回答No.1

これはマクロではなく、式で対応されたほうが良いかと思います。 A列に仮の数字を置きますので、結果をB列に返すという前提で。 Sheet2のA4に"Sheet1!Q6"と記入します。 続いて A5に"Sheet1!Q8"と記入し、この2つの範囲をドラッグして 下の方に広げます。 Sheet2のB4に=INDIRECT(A4)と記入し、同様に下の方にドラッグします。 これで結果が入るはずです。 もっとスマートな方法があると思って探したのですが、見つかりませんでした。(._.)

caseof2006
質問者

お礼

ありがとうございます。 ファイルを軽くすべく、マクロを使え!!との指示が・・・ 本当に軽くなるのかはナゾですが・・・笑)

caseof2006
質問者

補足

ありがとうございます。 ファイルを軽くすべく、マクロを使え!!との指示が・・・ 本当に軽くなるのかはナゾですが・・・笑)