Excel VBA質問箱 IV

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

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


9500 / 76732 ←次へ | 前へ→

【72794】Re:二次元配列の列にcountif
回答  ウッシ  - 12/9/19(水) 15:11 -

引用なし
パスワード
   こんにちは

Sheet1のデータを配列に格納して列毎、要素毎にカウントしてSheet2に書き出してます。

Sub test()
  Dim v  As Variant
  Dim vv As Variant
  Dim k  As Variant
  Dim h  As Long
  Dim i  As Long
  Dim j  As Long
  
  v = Worksheets("Sheet1").Range("A1").CurrentRegion.Value
  j = UBound(v, 2)
  ReDim x(1 To j, 1 To 1)
  
  For i = 1 To j
    vv = WorksheetFunction.Index(v, 0, i)
    With CreateObject("Scripting.Dictionary")
      For Each k In vv
        .Item(k) = .Item(k) + 1
      Next
      h = 1
      For Each k In .Keys()
        If k <> "" Then
          If h > UBound(x, 2) Then
            ReDim Preserve x(1 To j, 1 To h)
          End If
          x(i, h) = i & "列:要素=" & k & ":要素数=" & .Item(k)
          h = h + 1
        End If
      Next
    End With
  Next
  Worksheets("Sheet2").Range("A1").Resize(UBound(x, 2), j).Value = _
    WorksheetFunction.Transpose(x)
End Sub

このまま Transpose 使う場合は要素数の制限があるのでデータ数に注意が必要です。

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 お礼

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