過去ログ

                                Page     495
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼VBAでシート関数SUMを使うにはどうすれば良いのでしょうか?  小林 03/1/2(木) 21:20
   ┗Re:VBAでシート関数SUMを使うにはどうすれば良いのでしょうか?  Jカーター 03/1/2(木) 22:15
      ┗Re:VBAでシート関数SUMを使うにはどうすれば良いのでしょうか?  小林 03/1/2(木) 22:25

 ───────────────────────────────────────
 ■題名 : VBAでシート関数SUMを使うにはどうすれば良いのでしょうか?
 ■名前 : 小林 <yoshio-k@hi-ho.ne.jp>
 ■日付 : 03/1/2(木) 21:20
 -------------------------------------------------------------------------
   皆さんこんばんわ。
いつも参考にさせてもらっています。

VBAでシート関数SUMを使うにはどうすれば良いのでしょうか?

Range("A4").Activate
maxrow2 = ws2.UsedRange.Rows.Count

For i = 4 To maxrow2
 If Cells(i, 1).Value <> "" Then
  ws2.Cells(i, 15) = "=Sum(?)" ←ここの書き方?
 End If
Next

上の「←」の行で、
シートのC列からN列までを合計したいのです。
=Sum(C3:N3)
=Sum(C4:N4)
=Sum(C5:N5)
    .
    .
    .
と言う風にしたい。

シートws2へは別のシートから毎回違うデータを
マクロで書き込んでいるので、シートに関数を直接書いておけないんです。

よろしくお願いします。
 ───────────────────────────────────────  ■題名 : Re:VBAでシート関数SUMを使うにはどうすれば良いのでしょうか?  ■名前 : Jカーター  ■日付 : 03/1/2(木) 22:15  -------------------------------------------------------------------------
   サンプルです。
Sub test()
  Dim ws2 As Worksheet
  Set ws2 = Sheets("Sheet2")
  
  With ws2.Range("A4", Range("A65536").End(xlUp))
    .SpecialCells(xlCellTypeConstants).Offset(, 14).Formula = "=SUM(C4:N4)"
    .Offset(, 14).Copy
    .Offset(, 14).PasteSpecial xlPasteValues
  End With
  With Application
    .CutCopyMode = False
    .Goto ("RC")
  End With
  Set ws2 = Nothing
End Sub

一応、数式から値に変換しています。
間違っていたらごめんなさい。
 ───────────────────────────────────────  ■題名 : Re:VBAでシート関数SUMを使うにはどうすれば良いのでしょうか?  ■名前 : 小林 <yoshio-k@hi-ho.ne.jp>  ■日付 : 03/1/2(木) 22:25  -------------------------------------------------------------------------
   ▼Jカーター さん:
ありがとうございます。

ばっちり動きました。

新年早々感激です。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 495