Excel VBA質問箱 IV

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

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


9510 / 76732 ←次へ | 前へ→

【72783】Re:二次元配列の列にcountif
発言  UO3  - 12/9/19(水) 0:01 -

引用なし
パスワード
   ▼H=R さん:

配列内ループもメモリー内処理ですからけっして非効率ではないと思います。
10000万行程度なら問題は全くないと思いますよ。
あるいは、配列を作業シートに落とし込んで、作業シート上でCountIfを使う手もあります。

変数定義は省略しますが以下の例では2次元配列名を v としています。

(配列内ループ方式)

  Dim i As Long
  Dim j As Long
  Dim x As Long

  For j = LBound(v, 2) To UBound(v, 2)
    x = 0
    For i = LBound(v, 1) To UBound(v, 1)
      If v(i, j) = "ABC" Then x = x + 1
    Next
    MsgBox j & "列目:" & x
  Next

(作業シート使用方式)

  Dim r As Range
  
  With Sheets("作業シート")
    .Cells.ClearContents
    .Range("A1").Resize(UBound(v, 1), UBound(v, 2)).Value = v
    For Each r In .Range("A1").CurrentRegion.Columns
      MsgBox r.Column & "列目:" & WorksheetFunction.CountIf(r, "ABC")
    Next
  End With

1 hits

【72775】二次元配列の列にcountif H=R 12/9/18(火) 21:25 質問
【72776】Re:二次元配列の列にcountif UO3 12/9/18(火) 21:43 発言
【72777】Re:二次元配列の列にcountif UO3 12/9/18(火) 21:53 発言
【72782】Re:二次元配列の列にcountif H=R 12/9/18(火) 23:30 質問
【72783】Re:二次元配列の列にcountif UO3 12/9/19(水) 0:01 発言
【72784】Re:二次元配列の列にcountif H=R 12/9/19(水) 8:42 お礼
【72785】Re:二次元配列の列にcountif UO3 12/9/19(水) 9:48 発言
【72794】Re:二次元配列の列にcountif ウッシ 12/9/19(水) 15:11 回答
【72796】Re:二次元配列の列にcountif 12/9/19(水) 15:57 回答
【72798】Re:二次元配列の列にcountif H=R 12/9/19(水) 17:16 お礼
【72802】Re:二次元配列の列にcountif 12/9/20(木) 6:23 回答
【72803】Re:二次元配列の列にcountif H=R 12/9/20(木) 10:01 お礼

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