• 締切済み

エクセルでのVisual Basic Editorについて

今、エクセルに実装されているVisual Basic Editorを使って ある数値を求めています。 数値の計算の方は問題ないのですが、値を出力する際に 値を指定した行のセルに上書きされてしまいます。 私は行を挿入してそこに数値を出力したいと考えているのですが、 そのようにすることは可能なのでしょうか? 例えば、 A|B|C|D|E| 1|2|3|4|5|    ↓結果 A|B|AB|C|D|CD|E| 1|2| 3|3|4| 7|5| AとBの合計をBとCの間の行に出力、 CとDの合計をDとEの間の行に出力 という感じです。 申し訳ありませんが、よろしくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

エクセルでは行や列の挿入でしょうが、VBAででももちろん可能です。 >値を出力する際に値を指定した行のセルに上書きされてしまいます。 この困る意味・言っている意味が判らない。計算結果はプログラマが任意のセルに出せますから。 下の行に出したいなら、下の行に次にプログラムで使う、データがあるのなら (1)むしろ別のシートや (2)別のセル範囲に (A)基データ (B)直下行に計算結果データ とでもして表示します。 計算に入る前に、先に1行行挿入してしまうのも手かも知れない。 そうすればFor NextでStep 2でデータを捉えやすい。 絶対といってよいほど行(列)挿入は避けます。 というのは初めの配置が崩れるからです。 初めは+1行下にあったものが2行挿入で+3行目になり、沢山挿入すると計算できなくなります。 それに比べ普通は、1行ずつで同じ処理を繰り返すことが多く この点がプログラムを簡単にしているからです。 次に処理すべき行(データ)が 行=行+1やFor Nextのカウンタ変数で表せるのは考えやすい。 それが行挿入されると、ずたずたになります。 ーー (例)10行引っ付いたデータがある。上から1行ずつ空白行を挿入するプログラムを組め やり方によっては難しい。今では要領を知って、普通下からやりますが。 ーーー >Visual Basic Editorを使ってある数値を求めています。 VBEはEditorであるので、これを使ってとは、表現がしっくりこない。 VBAを使って・・ が表現としては良いと思う。

  • tom11
  • ベストアンサー率53% (134/251)
回答No.2

こんにちは、 >私は行を挿入してそこに数値を出力したいと考えているのですが 今回は、行ではなく、列でよね。 上記の文をエクセル流に翻訳すると Columns(3).Insert(xlRight) 三列目に列を挿入して、右にシフト 後は、この部分に数値を代入すればいいと思います。

  • unamana19
  • ベストアンサー率62% (56/89)
回答No.1

>値を指定した行のセルに上書きされてしまいます。 指定した位置に出力(上書き)されるのは普通ですね。 >私は行を挿入してそこに数値を出力したいと考えているのですが、 >そのようにすることは可能なのでしょうか? ここで言われている”挿入”はプログラム上より行われて いるのでしょうか?