• ベストアンサー

マクロの初心者

マクロの超初心者です。 マクロの記録を行ってそのコードを表示し、学習を始めたばかりの初心者です。 A1セルに、数字100が入力されてるとします。 A2セルに、A1セルの数値を取り出して 1 を加えて 表示させるコードはどのようになるのか、どなたか おしえてください。 宜しくお願いします

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

range("A2").value = range("A1").value + 1 みたいな感じでしょうか A1のセルの値を取りだし1プラスしてA2のセルに代入しています。 表示は、エクセルがやってくれるので考えないでいいです。 シートやブックの指定がないので、 現在のアクティブなシートで実行されます。(多分) がんばってください。(^^)ノ

saitamayama
質問者

お礼

ありがとうございます。 EXCEL VBA入門を購入して読んでるのですが、簡単に理解出来ずに苦労してます。 昔8801BASICをやってましたので、これと似たような ものだろうと簡単に考えてましたが、やりたい事のコードを覚えるのに苦労してますし、これを実行するにはどのようなコードなんだろうとHELPを探しても よくわからないのです。 これからもたくさん質問させていただきますので、宜しくお願いします。 ありがとうございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

また、こんな方法もあります Range("A2").Formula = "=A1+1" これは、値を取り出すのではなくて、 A2のセルに =A1+1 の式を設定するものです。

saitamayama
質問者

お礼

ありがとうございます。 VBA入門を購入して読んでるのですが、得た知識以上に やりたいことが出てきまして質問させて頂きました。 この本では、セルからセルへのCOPYとかセルに値を 代入とかは乗ってるのですが、セルの値を取り出すとかは乗ってなく又HELPを探してもわかりませんでした。本当にありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 >マクロの記録を行ってそのコードを表示し、学習を始めたばかりの初心者です。 それは、解答を書く人もいるかもしれないけれど、「(マクロの)学習を始めたばかり」なら、このレベルは、掲示板ではなくて、VBAの参考書なりで、しっかりと勉強なさったほうがよいのではないでしょうか? その上で、分からないことが出てきたら、教えてもらう、というほうがよいと思います。

関連するQ&A

  • こんなマクロを作るには

    マクロ初心者です。 以下のようなことをしたいときにマクロの方法を教えて頂けると助かります。 1)セルA1に、数値を入力。 2)セルB1に、A1の数値を使った複雑な計算を行う。 3)セルC1にある別の既定の数値とB1が同じなるまで、A1の数値を入力し直す。  (例えばA1は、0.1間隔で数値を入力していく) このようなものをマクロで設定したいです。 今はひたすらA1の数値を入力し直して対応しています。 なにとぞよろしくお願いいたします。

  • エクセルマクロ超初心者で、悩んでます。

    エクセルマクロ超初心者で、悩んでます。 どなたか助けてください。 悩みはこうです↓ データ用のワークシートのセルに数字、文字が入力してあります。 セルの数値同士の引き算で算出した数値を列数として、別の印刷用のワークシートのセル番地(列、行)に、「文字」を表示したいのです。 日本語で書いちゃうと ワークシート「印刷用」の、あるセル番地(ワークシート「データ用」から、列数はJ1‐A1、行数はのB1の数値)に ワークシート「データ表」のC1の文字 を出力せよ です。 Worksheets選択がうまくいきません CellsかRangeを使うのかと思いますが、引き算する表現がわかりません・・ 文例があれば、稚拙ながら活用できるかなと思います。 よろしくお願いします!

  • エクセルのマクロ

    セルA1に、a2からa90までの任意の文字を入力した後にマクロを実行します。 セルA1にa7と入力されている時はセルB1にa6と表示され、セルA1にa86と入力されている時はセルB1にa85と表示されるようなマクロを教えてもらいたいのですが。 B1は必ずA1の数字の部分が1つ少なくなるということです。      

  • Excelのマクロ初心者です

    Excelのマクロ初心者です 同じBookでセルA1に”1”が入力されているSheetのみ全て印刷する マクロを教えてください!

  • エクセルのマクロについて

    マクロ初心者です。 エクセルであるセルの数値に100掛けた結果を同じセルに表示させたい場合はどういったVBAを使えばいいのでしょう。他のセルに一旦100掛けた数字を入れて、また元のセルに戻すという事は無しで・・ 例えば「0.25」をいうセルにマクロを流して「25.00」(小数点以下の桁数にはこだわりません)に変えたい場合です。

  • エクセル2007でのマクロの記録

    マクロ初心者です。しょうもない質問で申し訳ありません。 エクセル2007で並び替えをマクロに記録させても並び替えが実行できません(エクセル2003は可能でした)。 例えば・・・マクロの記録を実行→B4セルから下に10~1の数字を入力→その後並び替えボタンをクリックし、昇順で1~10に並び替える→マクロの記録を停止。確認のため、シート2でマクロを実行。数字は入力されるが、並び替えがおこなわれません(T_T) エクセル2007では並び替えのマクロは記録できないのでしょうか??それとも不具合ですか?もし簡単に出来る方法等があるなら教えて頂ければ幸いです。 お手数をおかけしますが、どなたかご回答を頂けると幸いです。

  • VBA if文とfor文の使用方法

    初歩的なことで質問します。 まず A1からA31セルに 連続した数値A1セル➡1、A2➡2・・・A31➡31と 数値が入力されております。 やりたいこと D1セルに適当な数字(例えば5)を入力しマクロを起動すると A5セルの5と書かれた数値を探し当て 隣のB5セルに別シートの数値を持ってくるといった処理ですが ここまではコードできています。 ここからわからないのですが さらに、D1セルに適当な数字(例えば5)を入力し マクロを起動すると A5セルの5と書かれた数値を探し当て すでに、B5セルに数字があれば処理しないといった内容を 追加したいのですが、やり方が分からないです。 途中からのコードですいません。 For i= 1 To 31 If range(”D1”).Value = .Cells(i, 1).Value Then ここまではできるのですが、その次の処理 すでに、B5セルに数字があれば処理しないといった処理 のif文がわかりません。 すいませんがコード記載してくれると助かります。 回答よろしくお願いします。

  • エクセルのマクロ 並んだ数字の幾つかを抜き出してその合計を計算させたいのですが・・

    エクセルのマクロ(VBA)について、教えてください。 セルのA1からA2・・・A1000までに「01,03,06,08,20,」のように5つの数字がカンマで区切られて入力されています。 1.この5つの数字をb.c.d.e.f.の1から1000のそれぞれのセルに配置するマクロ 2.この5つの数字の数字の合計をb1から1000のセルに表示させるマクロは難しいでしょうか? MID関数をひとつづつのセルに入れていたのですが、マクロでできれば効率が良いと思い手引書等で考えたのですがよく分からないのです。

  • マクロで可視セルのみの削除

    A行に数字を入れ、B行にA行同列セルの数字に対して 数値を返す数式を入れています。 B行は非表示にしています。 (C・D行、E・F行・・・とも同じ処理) 数字を入力する範囲(A、C、E・・・)を選択し、 入力されている数字を消去するようマクロを組みました。 (範囲選択→ツールの編集→ジャンプ→可視セルを選択後、Delete) これはうまく作動します。 が、数式が壊れるのを防ぐ為、念には念を・・・と、 入力範囲部分はセルの書式設定で保護ロックを外し、 シートを保護しました。 そうすると、保護されているからだめ!と エラーが出て、マクロが作動しません。 (可視セル選択部分にデバッグがでます。) ・非表示のセルがある ・一部を除きシートを保護している 状態で、マクロで可視セルのみ削除することは不可能なんでしょうか? 宜しくお願いします。

  • エクセルで…関数かマクロか?

    エクセル2007を使っています。 3列のシートがあるとしますね。 それぞれの列は、「A 現金残高」、「B 収入」、「C 支出」とします。 たとえば、3行目から数値を入れるとします。 普通ならば、B3 (収入)のセルに 1000(円) と数字を打ち込めば、 A3 (現金残高)のセルに同じく 1000が入るよう、=B3 とすればいいと思います。 同様に、C3のセルに1000と入力すれば、 A3のセルには -1*(C3) とすることで、現金残高が収入と支出によって、 プラスマイナスされるようにし、あとで各列を∑すれば済みますね。 でも、いま僕がやりたいのは、 たとえば現金残高 A3のセルに -1000 と入力すると、自動的に C3のセルに 1000 と 表示され、A3に 1000 と入力すると、 B3のセルに 1000と表示されるようにしたいのです。 要するに、現金残高に入力した数値がプラスかマイナスかによって、 数字が表示されるセルを個別に指定し、指定したセルに計算結果を表示させたいわけです。 IF関数で、数値のプラスマイナスは判断できますが、任意のセルを指定させる方法が わかりません。 「もし…だったら 『任意のセルに』○○せよ」  というような指定はできるのでしょうか? もしくは、マクロを使わないとできないのでしょうか? いろいろサイトも調べてみましたが、力不足で回答にたどり着くことができませんでした。 よろしくご教授お願いいたします。

専門家に質問してみよう