Excel VBA質問箱 IV

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

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


10661 / 13646 ツリー ←次へ | 前へ→

【20432】数字の個数について キラー 04/12/9(木) 2:16 質問[未読]
【20433】Re:数字の個数について かみちゃん 04/12/9(木) 6:46 回答[未読]
【20439】Re:数字の個数について キラー 04/12/9(木) 11:44 質問[未読]
【20440】Re:数字の個数について IROC 04/12/9(木) 11:53 回答[未読]
【20444】Re:数字の個数について キラー 04/12/9(木) 12:28 お礼[未読]
【20445】Re:数字の個数について かみちゃん 04/12/9(木) 12:32 発言[未読]
【20446】Re:数字の個数について キラー 04/12/9(木) 12:39 質問[未読]
【20448】Re:数字の個数について かみちゃん 04/12/9(木) 12:42 回答[未読]
【20451】Re:数字の個数について キラー 04/12/9(木) 15:59 お礼[未読]
【20452】Re:数字の個数について Kein 04/12/9(木) 16:38 回答[未読]
【20457】Re:数字の個数について キラー 04/12/9(木) 18:07 お礼[未読]
【20590】Re:数字の個数について カルキン 04/12/13(月) 0:26 質問[未読]
【20591】Re:数字の個数について Asaki 04/12/13(月) 0:30 発言[未読]
【20596】Re:数字の個数について かみちゃん 04/12/13(月) 6:36 発言[未読]
【20597】Re:数字の個数について Asaki 04/12/13(月) 8:54 発言[未読]
【20606】Re:数字の個数について カルキン 04/12/13(月) 12:55 質問[未読]
【20608】Re:数字の個数について Asaki 04/12/13(月) 13:04 回答[未読]

【20432】数字の個数について
質問  キラー  - 04/12/9(木) 2:16 -

引用なし
パスワード
   質問です。

C列に1,2,3,4,5と数字がいろいろならんでいるとします。

そのとき、C列に1が何個あるか、C列に2が何個あるか、C列に3が何個あるか・・・

と、その数字が何個あるかカウントすることはできますか?

【20433】Re:数字の個数について
回答  かみちゃん  - 04/12/9(木) 6:46 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>C列に1,2,3,4,5と数字がいろいろならんでいるとします。
>
>そのとき、C列に1が何個あるか、C列に2が何個あるか、C列に3が何個あるか・・・

一般操作関数のCOUNTIFでできませんか?
ちなみに、特定の文字列の中から特定の文字の個数を探すのであれば、次のような感じでできると思います。

Option Explicit

Sub Macro1()
 Dim strTmp As String, FindChar As String
 
 FindChar = "1"
 strTmp = Range("C1").Value
 If strTmp <> "" Then
  MsgBox strTmp & " の中にある" & vbCrLf & _
       FindChar & " の個数は" & vbCrLf & _
        UBound(Split(strTmp, FindChar)) & "個です"
 Else
  MsgBox "文字列がありません"
 End If
End Sub

このコードは、セルC1の値の中に「1」が何個あるかを表示します。

【20439】Re:数字の個数について
質問  キラー  - 04/12/9(木) 11:44 -

引用なし
パスワード
   かみちゃん さんへ

ありがとうございました。

ですが正しく実行できませんでした。

【20440】Re:数字の個数について
回答  IROC  - 04/12/9(木) 11:53 -

引用なし
パスワード
   >正しく実行できませんでした。

何がどのように正しくないのか書かないと分からないですよ。

【20444】Re:数字の個数について
お礼  キラー  - 04/12/9(木) 12:28 -

引用なし
パスワード
   IROCさんへ

数字が正しくカウントされませんでした。

【20445】Re:数字の個数について
発言  かみちゃん  - 04/12/9(木) 12:32 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>正しく実行できませんでした。
>
>何がどのように正しくないのか書かないと分からないですよ。

IROC さんもおっしゃているとおり、何がどうなっていて、どのように正しくないのかがわかりません。

そもそも

> C列に1,2,3,4,5と数字がいろいろならんでいるとします。
> そのとき、C列に1が何個あるか、C列に2が何個あるか、C列に3が何個ある
> か・・・

の質問が、
 A B C
1    1
2    2
3    3
4    4
5    5
と入っているのか、
 A B C
1    12345
と入っているのか、どちらなのでしょうか?
前者であれば、COUNTIF関数を使って一般操作でできます。
後者であれば、提示したコードで、ほぼ、できると思います。(動作確認済みです)

【20446】Re:数字の個数について
質問  キラー  - 04/12/9(木) 12:39 -

引用なし
パスワード
   かみちゃんさんへ

こんにちは。わかりにくくてすみませんでした。
私が言っていたのは、かみちゃんさんがおっしゃる前者のほうです。
後者の方なら実行して1が一個とカウントされたのがわかりました。
ありがとうございました。

できれば結果をシートの方へ貼り付けたいのですがそれも可能ですか?

【20448】Re:数字の個数について
回答  かみちゃん  - 04/12/9(木) 12:42 -

引用なし
パスワード
   こんちには。かみちゃん です。

>できれば結果をシートの方へ貼り付けたいのですがそれも可能ですか?

前者であれば、一般操作でCOUNTIF関数でできませんか?
それとも、私が何か勘違いしているのでしょうか?

【20451】Re:数字の個数について
お礼  キラー  - 04/12/9(木) 15:59 -

引用なし
パスワード
   かみちゃんさんへ

いえいえきっと私が理解できてないんです。
ご迷惑おかけしてすみませんでした。

【20452】Re:数字の個数について
回答  Kein  - 04/12/9(木) 16:38 -

引用なし
パスワード
   結果を他のシートへ貼り付けたいなら

Sub MyCount()
  Dim Sn As String

  Sn = ActiveSheet.Name & "!"
  Application.ScreenUpdating = False
  Rows(1).insert xlShiftDown
  Range("C1").Value = "Data_Count"
  With Sheets("Sheet2")
   Range("C1", Range("C65536").End(xlUp)) _
   .AdvancedFilter xlFilterCopy, , .Range("A1"), True
   With .Range("B2", .Range("A65536").End(xlUp).Offset(, 1))
     .Formula = "=COUNTIF(" & Sn & "$C:$C,$A2)"
     .Value = .Value
   End With
   Rows(1).Delete xlSiftUp
   .Activate
  End With
  Application.ScreenUpdating = True
End Sub
   
  

【20457】Re:数字の個数について
お礼  キラー  - 04/12/9(木) 18:07 -

引用なし
パスワード
   Keinさん

実行できました。ありがとうございました。
とても感謝してます。

【20590】Re:数字の個数について
質問  カルキン  - 04/12/13(月) 0:26 -

引用なし
パスワード
   ▼Kein さん:
>結果を他のシートへ貼り付けたいなら
>
>Sub MyCount()
>  Dim Sn As String
>
>  Sn = ActiveSheet.Name & "!"
>  Application.ScreenUpdating = False
>  Rows(1).insert xlShiftDown
>  Range("C1").Value = "Data_Count"
>  With Sheets("Sheet2")
>   Range("C1", Range("C65536").End(xlUp)) _
>   .AdvancedFilter xlFilterCopy, , .Range("A1"), True
>   With .Range("B2", .Range("A65536").End(xlUp).Offset(, 1))
>     .Formula = "=COUNTIF(" & Sn & "$C:$C,$A2)"
>     .Value = .Value
>   End With
>   Rows(1).Delete xlSiftUp
>   .Activate
>  End With
>  Application.ScreenUpdating = True
>End Sub
>   

これをC列ではなくD列にするにはどうしたらいいですか?

【20591】Re:数字の個数について
発言  Asaki  - 04/12/13(月) 0:30 -

引用なし
パスワード
   こんばんは。

>これをC列ではなくD列にするにはどうしたらいいですか?
C → C
に書き換えればよいのでは?

【20596】Re:数字の個数について
発言  かみちゃん  - 04/12/13(月) 6:36 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>>これをC列ではなくD列にするにはどうしたらいいですか?
>C → C
>に書き換えればよいのでは?

C → D では?

【20597】Re:数字の個数について
発言  Asaki  - 04/12/13(月) 8:54 -

引用なし
パスワード
   かみちゃん さん、こんにちは。

>>C → C
>>に書き換えればよいのでは?
>C → D では?
C → D
と書いたつもりでした。
フォローありがとうございます。m(_ _)m

【20606】Re:数字の個数について
質問  カルキン  - 04/12/13(月) 12:55 -

引用なし
パスワード
   かみちゃんさん。こんにちは。

C → D に書き換えるとのことですが、どこを変えればよいのでしょう?

自分で変えてみたのですが変な結果になるんです。

【20608】Re:数字の個数について
回答  Asaki  - 04/12/13(月) 13:04 -

引用なし
パスワード
   >自分で変えてみたのですが変な結果になるんです。
書き換えたコードをUpしてみてください。

また、プログラムで何をしているのか、分からないところがあれば、
ヘルプを見て研究してみてください。
なお、ヘルプはインストールされていないことがありますので、
CDからカスタムインストールすることをお勧めします。

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