こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

はじめまして。初めて質問させていただきます。

Excelで作業を行っていたのですが、マクロ(VBA?)で分からないことが出てきました。

Sheet1のQ6セルとQ7セルが結合されています。そこにはデータ(数式)が入力されています。
同様に、Q8とQ9、Q10とQ11・・・というように、データ(数式)が続いています。データ数は300個です。

他のシート(Sheet2)の
A4セルから下に、先程のQ6セルのデータ
A5セルにQ8のデータ・・・
というように書きたいのです。

これをマクロを組んで行うことは出来るのでしょうか?

さらに、Sheet1で数式だったデータを文字列で保存できるとなお嬉しいです。


マクロ初心者ですいませんが、皆様のお知恵をお貸しください。よろしくお願いいたします。

投稿日時 - 2007-08-23 14:46:05

QNo.3279521

困ってます

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

一応マクロというご指定なので・・・・
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

投稿日時 - 2007-08-23 15:35:58

お礼

ありがとうございました。

お教えいただいた方法で出来ました。

まだマクロ勉強2日目ですが、頑張って覚えていきたいと思います。

また機会がありましたら、よろしくお願いいたします。

投稿日時 - 2007-08-23 15:48:10

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

投稿日時 - 2007-08-23 15:32:00

補足

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

投稿日時 - 2007-08-23 15:39:49

お礼

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

投稿日時 - 2007-08-23 15:41:44

あなたにオススメの質問