- ベストアンサー
VBAで行を挿入する際に数式の参照が変わる問題
- VBAで行を追加する際に、数式の参照が変わってしまう問題が発生しています。
- 行追加時に数式の参照を絶対参照や複合参照のまま保つ方法を探しています。
- Excel2003、Excel2007を使用しており、Win XP(SP3)を使用しています。
- みんなの回答 (2)
- 専門家の回答
関連するQ&A
- VBA 他シートを参照しているセルのコピー
お世話になります。 以下のシートがあります。 [sheet a] A B C D E 1 2004 2005 2006 2007 2008 2 =b!A2 =b!C2 =b!E2 =b!G2 =b!I2 3 10 15 16 4 11 4 12 30 20 9 2 5 =SUM(A3:A4) =SUM(B3:B4) =SUM(C3:C4) =SUM(D3:D4) =SUM(E3:E4) [sheet b] A B C D E F G H I J 2004 2005 2006 2007 2008 1 あ1 い1 う1 え1 お1 か1 き1 く1 け1 こ1 2 あ2 い2 う2 え2 お2 か2 き2 く2 け2 こ2 ・・・・・・・・・ [sheet a]F列以降に入れるデータは、VBA(マクロ)を使って、別のブックから取り出しています。 (例) F1…=E1+1(E1の数式をコピー) F3,F4…任意の値(別のブックからコピー) F5…=SUM(F3:F4)(E5の数式をコピー) 1行目,5行目の場合は左のセルをコピーして数式を貼り付けると、列が自動的に列が変わりますが、2行目の場合は元のシートを1行おきに参照しているので、単純にコピーしただけでは正しい数式が入りません。 2行目の参照をVBAで作るには、どのようにしたらいいでしょうか。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelで行追加
今、選択されてるセルの下に、 10行分を今のセル行の内容(演算式)をコピー挿入したいのですが、どのようにすれば。。。 なお、行全体ではなく、A~G列のみの処理にしたいのです。 よろしくお願いいたします。
- 締切済み
- Visual Basic
- VBAでの行集計
VBAでの行集計 いつもお世話になっております 今 マクロでの行集計で困っております。 お力をお貸し下さい m(__)m したいことは B列最終セルを見つけ出し 列の合計を出す 合計を右横最終セルまでコピーする 最終はR列までです そこで下記のマクロで合計は出しました Dim BeforePos As Long BeforePos = Range("B4").End(xlDown).Row Cells(BeforePos + 1, 2).Formula = "=SUM(B4:B" & BeforePos & ")" このセルの数式を右最終列までコピーをしたい それだけのことですがうまくいきません どうかよろしくお願いします
- ベストアンサー
- オフィス系ソフト
- 行を追加した時の、値の合計範囲
行を追加するマクロがあり、実行すると「合計」行の1行上に行が追加されます。 行が追加された分「合計」のある行が下がっていくんですが、その関数が変動してくれなくて困っています。 A B C D E F G H I 1 商品の基本データ ・ ・ ・ ・ 14 商品の基本データ 15 16 日付 入庫 出庫 本日在庫 17 2012/04/01 100 100 18 2012/04/05 50 150 19 2012/05/03 100 50 20 2012/05/04 300 350 21 ・ 150 200 22 ・ 50 150 23 ・ 200 350 24 ・ 10 340 (ここに行が挿入されていく) 25 合計 (1) (2) 340(=(1)-(2)) (1)=IF(COUNT($C$17:$C24)=0,"",SUM($C$17:$C24)) (2)=IF(COUNT($D$17:$D24)=0,"",SUM($D$17:$D24)) 現在こんな感じで式を入れています。$C24と$D24が$C25...、$D25...等動いていってくれるといいんですが・・。 他にもSUMPRODUCTやOFFSETなど色々試しましたが、上手くいきません。 行が増えていく(セル参照範囲が変わってくれない)、C:CやD:Dとして設定できない、データが連続していない、などが原因だと思っています。 A列には何もありません。 E~H列は他にもデータが入っています。 マクロで、B17からHの合計の1行上までを日付でソートすることがあります。 合計行の上に空白行C25を入れ、合計行C26にSUM(C17:C25)とし、 挿入する位置を空白行C25の上とすれば、SUMは挿入行を抱えていってくれるんですが、 この場合空白の行25を高さ0の不可視にさせなければならず、利用する側としては21・22・23・24・26と、25が飛んでいるのが気になるものと思います。 できればそういう疑問を持たせることなく可動させたいです。 因みにVBAでWorksheet_ChangeやWorksheet_Selectionhangeなどは既に使用しているので、 マクロで自動で合計値を入力することはできないと思います。 ボタンで動かすマクロでなら出来そうですが、合計を逐一表示するのにマクロボタンを設置するのもどうかと思うので・・。 いくらネットで探しても方法が見つからなかったので、何方かご教授宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセルの行挿入の際の計算式について
いろいろ探したのですが、答えを見つけられずにいます。 良かったら教えてください。よろしくお願いしますm(_ _)m 。 エクセルで、1行目から10行目まで関数の数式(例えばSUM、IFなど)が入力されているとき、7行目などで行挿入をした際、その関数が他の行と同じように、挿入された行にも自動で反映するようにすることはできるのでしょうか?? デフォルトではできない・・・ですよね?私はできないように思うのですが。 たくさん数式が入っている表ですと、ひとつひとつ数式コピーを加えていくのが手間なもので・・・何か良い方法や設定があればご伝授お願いいたします。 分かりにくい文章ですみません。
- ベストアンサー
- その他(学問・教育)
- 1行おきのセルの合計数式結果が0になってしまいます。エクセル
1行おきのセルの合計数式結果が0になってしまいます。エクセル データ範囲がE2からU117あり、E列のE2から1行おきに数値E116までを合計するため E118に次の数式を入力しました。 =SUM(IF(MOD(ROW(E2:E117),2)=MOD(ROW(E2),2),E2:E117)) Ctrl+Shift+Enterすると結果が0になってしまいます。 指定の行には数値以外に「-(ハイフン)」や、範囲行に数式が入っていたりするからでしょうか? E 2 50 ←足したい 3 数式 4 - ←足したい 5 数式 ・ ・ 117 150 ←足したい 118 数式 119 =SUM(IF(MOD(ROW(E2:E117),2)=MOD(ROW(E2),2),E2:E117))
- ベストアンサー
- オフィス系ソフト
- エクセルでカウントする関数
質問させてください やりたいことは 例えば数式 =IF(***>**,E5,"") が1行~10行にコピーしてあり 論理式に適合したものは参照セル値を返します 適合しないものは空白です さて 適合したものを数えてみようと思ったのですfが COUNT関数 COUNTA関数などやりましたが 数式のあるものも数えてしまい よって全部の行がカウントされていまいました 教えてください よろしくお願いいたします
- ベストアンサー
- オフィス系ソフト
- 行の挿入で数式も自動的に挿入
C1列に=SUM(A1:B1)を入力し、オートフィルを30行目までかけました。 3行目で行の挿入をした時に 自動的にC列に数式が入力されている状態 (上の行、又は下の行のコピーを挿入) にしたいのですがどうすればよろしいでしょうか? 行をコピー → コピーしたセルの挿入 以外の方法はあるんでしょうか? よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Excelの数式の自動変更について
excelの数式で困っています。 以下のようなシート1があります。 シート1 │A B C ─┼──── 1│a b c 2│d e f 3│g h i シート2で、以下の数式でシート1の値"e"を参照しているセルがあります。 =シート1!B2 この式では、シート1に行や列を挿入しても、"e"の値があるセルを参照したままになるように、数式が自動的に変更されます。 そうではなく、以下の条件を満たすような数式に変更したいと思っています。 ・1行と2行の間に行を挿入 →数式が自動変更され、"e"を参照したままにする ・A列とB列の間に列を挿入 →数式は変更されず、元々"e"があった場所を参照する 何かよい方法はないでしょうか? 回答よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL2003で行や列を挿入した時・・・
EXCEL2003で行や列を挿入した、書式も自動的に 上の行や左の行のものが適用されますよね。 その時、SUM関数などはどうでしたか? 列を挿入した時は、挿入後にコピーをしなくてはならないかと 思いますが、行を挿入した時は 上のSUM関数が既に入ってたことがあるように思うんですが、 入らないときもあるので、どうなのかなと思いまして・・・(^_^;) 行でも列でも挿入後に上や隣のセルの書式が適用されるように SUM関数も入ってたりはしないのでしたか? わかりにくい質問ですみません。。。
- 締切済み
- オフィス系ソフト
お礼
>以下コピー >としておくことで対策できます。 これは試したのですが、絶対参照、複合参照の部分も変わってしまいます。 コピー方法を変えてみたりと、色々試してみたのですが駄目でした。 で、結局は数式自体を変える事にしました。 元々は、行毎に範囲が変わって行くのですが、 範囲を無くし、全て同じ行で処理出来るように変更しました。 =IF(AND(E10="",F10=""),"",OFFSET(G10,-1,0)+E10-F10) この数式の欠点は途中に入力値が無い場合、 次行以降が全てエラーになる事です。 まぁ、歯抜けになる使い方をしないので問題はなさそうです。 数式については、もっと勉強しなければいけないようです。 ありがとうございました。