- ベストアンサー
エクセルのデータ入力をマクロで行う方法は?
はじめまして。初めて質問させていただきます。 Excelで作業を行っていたのですが、マクロ(VBA?)で分からないことが出てきました。 Sheet1のQ6セルとQ7セルが結合されています。そこにはデータ(数式)が入力されています。 同様に、Q8とQ9、Q10とQ11・・・というように、データ(数式)が続いています。データ数は300個です。 他のシート(Sheet2)の A4セルから下に、先程のQ6セルのデータ A5セルにQ8のデータ・・・ というように書きたいのです。 これをマクロを組んで行うことは出来るのでしょうか? さらに、Sheet1で数式だったデータを文字列で保存できるとなお嬉しいです。 マクロ初心者ですいませんが、皆様のお知恵をお貸しください。よろしくお願いいたします。
- みんなの回答 (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
その他の回答 (1)
- j_nishiz
- ベストアンサー率26% (183/697)
これはマクロではなく、式で対応されたほうが良いかと思います。 A列に仮の数字を置きますので、結果をB列に返すという前提で。 Sheet2のA4に"Sheet1!Q6"と記入します。 続いて A5に"Sheet1!Q8"と記入し、この2つの範囲をドラッグして 下の方に広げます。 Sheet2のB4に=INDIRECT(A4)と記入し、同様に下の方にドラッグします。 これで結果が入るはずです。 もっとスマートな方法があると思って探したのですが、見つかりませんでした。(._.)
お礼
ありがとうございます。 ファイルを軽くすべく、マクロを使え!!との指示が・・・ 本当に軽くなるのかはナゾですが・・・笑)
補足
ありがとうございます。 ファイルを軽くすべく、マクロを使え!!との指示が・・・ 本当に軽くなるのかはナゾですが・・・笑)
お礼
ありがとうございました。 お教えいただいた方法で出来ました。 まだマクロ勉強2日目ですが、頑張って覚えていきたいと思います。 また機会がありましたら、よろしくお願いいたします。