Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


22824 / 76732 ←次へ | 前へ→

【59283】Re:マクロでのオートSUM
回答  Hirofumi  - 08/12/4(木) 19:29 -

引用なし
パスワード
   Sample7は、数式が入っていた場合、Sumの範囲は数式の下の行からと成ります

Public Sub Sample7()

'  全ての数式を除く場合

  Dim i As Long
  Dim lngCount As Long
  Dim vntMark As Variant
  
  'ActiveCellを基準とする
  With ActiveCell
    'データ行数の初期値を設定
    lngCount = 0
    '現在のセルより上のデータが数字でなくなるまで繰り返し
    i = i - 1
    Do Until .Row + i = 0
      '操作行が数値無く、若しくはEmpty値ならDoを抜ける
      vntMark = .Offset(i).Value
      If .Offset(i).HasFormula = False _
          And (VarType(vntMark) = vbDouble _
              Or VarType(vntMark) = vbLong) Then
        'データ行数をカウント
        lngCount = lngCount + 1
      Else
        Exit Do
      End If
      '操作行を更新
      i = i - 1
    Loop
    '該当行が無い場合
    If lngCount > 0 Then
      '数式を出力
      .FormulaR1C1 = "=Sum(R[-" & (lngCount) & "]C:R[-1]C)"
    End If
  End With
  
End Sub

Sample8は、Sum数式が入っていた場合、Sumの範囲はSum数式の下の行からと成ります
ただし、他の数式の場合、数値を返している場合は範囲に含み、
それ以外を返している場合は、その下までと成ります

Public Sub Sample8()

'  Sumの数式と数値以外の数式を除く場合

  Dim i As Long
  Dim lngCount As Long
  Dim vntMark As Variant
  
  'ActiveCellを基準とする
  With ActiveCell
    'データ行数の初期値を設定
    lngCount = 0
    '現在のセルより上のデータが数字でなくなるまで繰り返し
    i = i - 1
    Do Until .Row + i = 0
      '操作行が数値無く、若しくはEmpty値ならDoを抜ける
      vntMark = .Offset(i).Value
      If InStr(1, .Offset(i).Formula, "=SUM", vbBinaryCompare) <> 1 _
          And (VarType(vntMark) = vbDouble _
              Or VarType(vntMark) = vbLong) Then
        'データ行数をカウント
        lngCount = lngCount + 1
      Else
        Exit Do
      End If
      '操作行を更新
      i = i - 1
    Loop
    '該当行が無い場合
    If lngCount > 0 Then
      '数式を出力
      .FormulaR1C1 = "=Sum(R[-" & (lngCount) & "]C:R[-1]C)"
    End If
  End With
  
End Sub

4 hits

【59109】マクロでのオートSUM tantan 08/11/29(土) 0:04 質問
【59110】Re:マクロでのオートSUM Yuki 08/11/29(土) 8:13 発言
【59111】Re:マクロでのオートSUM Hirofumi 08/11/29(土) 8:14 発言
【59116】Re:マクロでのオートSUM Hirofumi 08/11/29(土) 11:46 発言
【59130】Re:マクロでのオートSUM tantan 08/11/29(土) 23:06 質問
【59131】Re:マクロでのオートSUM Hirofumi 08/11/30(日) 0:18 回答
【59132】Re:マクロでのオートSUM Hirofumi 08/11/30(日) 0:43 回答
【59133】Re:マクロでのオートSUM tantan 08/11/30(日) 0:47 質問
【59134】Re:マクロでのオートSUM Hirofumi 08/11/30(日) 1:45 回答
【59151】Re:マクロでのオートSUM tantan 08/11/30(日) 18:54 質問
【59157】Re:マクロでのオートSUM Hirofumi 08/11/30(日) 20:48 回答
【59166】Re:マクロでのオートSUM tantan 08/12/1(月) 0:28 質問
【59168】Re:マクロでのオートSUM SS 08/12/1(月) 9:47 発言
【59195】Re:マクロでのオートSUM tantan 08/12/2(火) 0:57 質問
【59196】Re:マクロでのオートSUM ichinose 08/12/2(火) 8:09 発言
【59263】Re:マクロでのオートSUM tantan 08/12/4(木) 0:41 お礼
【59266】Re:マクロでのオートSUM ichinose 08/12/4(木) 6:22 発言
【59197】Re:マクロでのオートSUM Jaka 08/12/2(火) 9:33 発言
【59224】Re:マクロでのオートSUM Hirofumi 08/12/2(火) 18:43 回答
【59225】Re:マクロでのオートSUM Hirofumi 08/12/2(火) 19:24 回答
【59262】Re:マクロでのオートSUM tantan 08/12/4(木) 0:36 お礼
【59283】Re:マクロでのオートSUM Hirofumi 08/12/4(木) 19:29 回答
【59310】Re:マクロでのオートSUM tantan 08/12/5(金) 18:06 お礼
【59228】Re:マクロでのオートSUM n 08/12/2(火) 21:24 発言
【59264】Re:マクロでのオートSUM tantan 08/12/4(木) 1:50 質問
【59265】Re:マクロでのオートSUM n 08/12/4(木) 3:06 発言
【59311】Re:マクロでのオートSUM tantan 08/12/5(金) 18:08 お礼

22824 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free