過去ログ

                                Page     884
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼変数をはめ込んだ算式(sum関数)の記述法  日高久雄 03/3/17(月) 10:49
   ┣Re:変数をはめ込んだ算式(sum関数)の記述法  ポンタ 03/3/17(月) 11:41
   ┃  ┗Re:変数をはめ込んだ算式(sum関数)の記述法  日高久雄 03/3/17(月) 14:53
   ┗Re:変数をはめ込んだ算式(sum関数)の記述法  JuJu 03/3/17(月) 12:21
      ┗Re:変数をはめ込んだ算式(sum関数)の記述法  日高久雄 03/3/17(月) 14:57

 ───────────────────────────────────────
 ■題名 : 変数をはめ込んだ算式(sum関数)の記述法
 ■名前 : 日高久雄 <hisao_hidaka@hotmail.com>
 ■日付 : 03/3/17(月) 10:49
 -------------------------------------------------------------------------
   いつも お世話になります。
b,c,d 各列の6行目に、1行目から5行目までの合計を一挙に出したい時
Range("B6:D6").Select
  Selection.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
となると思いますが
6行目が変数Y行目であった場合 b,c,d列の1行目から(Y-1)行目までの各列合計をY列に
一挙に出す構文は書けないでしょうか? 変数Yを例えば range("E1")に格納しておいても結構です。
つまり 算式(sum関数)に変数を入れる方法を教えてください。
 ───────────────────────────────────────  ■題名 : Re:変数をはめ込んだ算式(sum関数)の記述法  ■名前 : ポンタ  ■日付 : 03/3/17(月) 11:41  -------------------------------------------------------------------------
   >6行目が変数Y行目であった場合 b,c,d列の1行目から(Y-1)行目までの各列合計をY列に
>一挙に出す構文は書けないでしょうか? 変数Yを例えば range("E1")に格納しておいても結構です。

Selection.FormulaR1C1 = "=SUM(R[" & 1 - Y & "]C:R[-1]C)"

でよいと思います。

ちなみに、

>b,c,d 各列の6行目に、1行目から5行目までの合計を一挙に出したい時

Range("B6:D6").Select
  Selection.FormulaR1C1 = "=SUM(R[" & 1 - Selection.Row & "]C:R[-1]C)"

とか、

  Dim MyRange As Range
  Set MyRange = Range("B6:D6")
  MyRange.FormulaR1C1 = "=SUM(R[" & 1 - MyRange.Row & "]C:R[-1]C)"

とした方がよりスマートだと思います。
 ───────────────────────────────────────  ■題名 : Re:変数をはめ込んだ算式(sum関数)の記述法  ■名前 : 日高久雄 <hisao_hidaka@hotmail.com>  ■日付 : 03/3/17(月) 14:53  -------------------------------------------------------------------------
   ▼ポンタ さん:
早速お返事有難う御座いました。よく解りました。
Y行の後 Z行(Y+1からZ-1行までの合計)等続くのですが
書き方が解りましたので 応用できそうです。

>>6行目が変数Y行目であった場合 b,c,d列の1行目から(Y-1)行目までの各列合計をY列に
>>一挙に出す構文は書けないでしょうか? 変数Yを例えば range("E1")に格納しておいても結構です。
>
>Selection.FormulaR1C1 = "=SUM(R[" & 1 - Y & "]C:R[-1]C)"
>
>でよいと思います。
>
>ちなみに、
>
>>b,c,d 各列の6行目に、1行目から5行目までの合計を一挙に出したい時
>
> Range("B6:D6").Select
>  Selection.FormulaR1C1 = "=SUM(R[" & 1 - Selection.Row & "]C:R[-1]C)"
>
>とか、
>
>  Dim MyRange As Range
>  Set MyRange = Range("B6:D6")
>  MyRange.FormulaR1C1 = "=SUM(R[" & 1 - MyRange.Row & "]C:R[-1]C)"
>
>とした方がよりスマートだと思います。
 ───────────────────────────────────────  ■題名 : Re:変数をはめ込んだ算式(sum関数)の記述法  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 03/3/17(月) 12:21  -------------------------------------------------------------------------
   日高久雄さん、ポンタさん、こんにちはぁ

>いつも お世話になります。
>b,c,d 各列の6行目に、1行目から5行目までの合計を一挙に出したい時
> Range("B6:D6").Select
>  Selection.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
>となると思いますが
>6行目が変数Y行目であった場合 b,c,d列の1行目から(Y-1)行目までの各列合計をY列に
>一挙に出す構文は書けないでしょうか? 変数Yを例えば range("E1")に格納しておいても結構です。

まず、1行目は固定ということなので、相対座標ではなく絶対座標を使ってはどうでしょうか。
 Selection.FormulaR1C1 = "=SUM(R1C:R[-1]C)"
こんな感じです。
これだけで、1行目から1つ上の行までという選択になります。

あとは、数式を入れる行の指定方法ですが、
 Range("B1:D1").Offset(Y - 1).FormulaR1C1 = "=SUM(R1C:R[-1]C)"
 Cells(Y, 2).Resize(1, 3).FormulaR1C1 = "=SUM(R1C:R[-1]C)"
 Range("B" & Y & ":D" & Y).FormulaR1C1 = "=SUM(R1C:R[-1]C)"
の(他にもありますが)好きな方法を使ってください。

ではではぁ
 ───────────────────────────────────────  ■題名 : Re:変数をはめ込んだ算式(sum関数)の記述法  ■名前 : 日高久雄 <hisao_hidaka@hotmail.com>  ■日付 : 03/3/17(月) 14:57  -------------------------------------------------------------------------
   ▼JuJu さん:
有難う御座いました。
私の説明不足で Y行の後 z行(Y+1行からZ-1行の合計)等続きますので
今回は ポンタさんからご教示あった 方法を採用させていただきます。
今後も宜しく。

>日高久雄さん、ポンタさん、こんにちはぁ
>
>>いつも お世話になります。
>>b,c,d 各列の6行目に、1行目から5行目までの合計を一挙に出したい時
>> Range("B6:D6").Select
>>  Selection.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
>>となると思いますが
>>6行目が変数Y行目であった場合 b,c,d列の1行目から(Y-1)行目までの各列合計をY列に
>>一挙に出す構文は書けないでしょうか? 変数Yを例えば range("E1")に格納しておいても結構です。
>
>まず、1行目は固定ということなので、相対座標ではなく絶対座標を使ってはどうでしょうか。
> Selection.FormulaR1C1 = "=SUM(R1C:R[-1]C)"
>こんな感じです。
>これだけで、1行目から1つ上の行までという選択になります。
>
>あとは、数式を入れる行の指定方法ですが、
> Range("B1:D1").Offset(Y - 1).FormulaR1C1 = "=SUM(R1C:R[-1]C)"
> Cells(Y, 2).Resize(1, 3).FormulaR1C1 = "=SUM(R1C:R[-1]C)"
> Range("B" & Y & ":D" & Y).FormulaR1C1 = "=SUM(R1C:R[-1]C)"
>の(他にもありますが)好きな方法を使ってください。
>
>ではではぁ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 884