Excel VBA質問箱 IV

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

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


63693 / 76732 ←次へ | 前へ→

【17634】Re:列にある文字データを文字別に数えるには...
発言  ichinose  - 04/9/3(金) 19:37 -

引用なし
パスワード
   ▼いちご さん:
こんばんは。

>エクセルの1列に”A","B","C","SC"という全角のアルファベットが並んでいます。
>A
>C
>C
>SC
>(実際はめっちゃ沢山有り、現状はCOUNTIFで1つ1つ範囲指定して数えています)
>同じファイルの別シートに表を作成してAは1、Bは0、Cは2、SCは1
>というふうにマクロで表示させたいのですが
>どうしたらよいでしょう?
>毎日する作業なので、どうぞ知恵をお貸しください。

例題のようなデータがアクティブシートのA列(A1からデータがあります)にあったとしましょう。
以下のコードは、アクティブシートの次のシート(右側のシート)のA1から下行に
数えるデータ、B1から下行にカウントを表示します。

'========================================================
Sub test()
  Dim rd As Range
  Dim ans As Range
  Set rd = Range("a1", Cells(Rows.Count, 1).End(xlUp))
  With rd.Offset(0, 1)
    .Formula = "=IF(COUNTIF($A$1:A1,A1)>1,"""",A1)"
    .Value = .Value
    Set ans = .SpecialCells(xlCellTypeConstants)
    ans.Copy Worksheets(2).Range("a1")
    .Value = ""
   End With
  With ActiveSheet.Next
   With .Range(.Cells(1, 2), .Cells(ans.Count, 2))
     .Formula = "=countif(" & rd.Address(, , , True) _
          & ",a1)"
     End With
   End With
End Sub

列が違う場合は、数式を変更して下さい。
データ列に項目名をつければ、フィルタが使えます。
コードは、そっちの方が簡単かも・・・。

0 hits

【17627】列にある文字データを文字別に数えるには... いちご 04/9/3(金) 17:18 質問
【17634】Re:列にある文字データを文字別に数えるに... ichinose 04/9/3(金) 19:37 発言
【17640】Re:列にある文字データを文字別に数えるに... ichinose 04/9/3(金) 20:23 発言
【17704】Re:列にある文字データを文字別に数えるに... Jaka 04/9/6(月) 9:09 回答
【17706】Re:列にある文字データを文字別に数えるに... いちご 04/9/6(月) 9:16 お礼
【17710】Re:列にある文字データを文字別に数えるに... ichinose 04/9/6(月) 12:03 発言
【17716】VBA、超初心者です。ゴメンなさい・・・ いちご 04/9/6(月) 13:47 質問
【17729】Re:VBA、超初心者です。ゴメンなさい・・・ ichinose 04/9/6(月) 17:57 回答

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