Excel VBA質問箱 IV

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

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


19399 / 76737 ←次へ | 前へ→

【62771】Re:連続したセルのパターンの個数を調べるには
発言  SS  - 09/8/31(月) 11:53 -

引用なし
パスワード
   ▼fool さん:
▼もも さん:

こんにちは、横から失礼します。
ももさんの案では以下の並びのときに問題が出そうです。
A    B
1    1
2    0
3    1
4    0
5    1
6    0
7    1
8    0
9    1
やはりしらみつぶしに調べるしか方法はないのではないでしょうか。
Sub test2()
  Const myStr As String = "101" '探す文字
  Dim AA As Variant
  Dim tmpStr As String
  Dim lastR As Long, i As Long, C As Long
  
  lastR = Range("B" & Rows.Count).End(xlUp).Row
  AA = Range("B1:B" & lastR).Value
  C = 0
  For i = 1 To lastR + 1 - 3 '(3文字の場合)
    tmpStr = AA(i, 1) & AA(i + 1, 1) & AA(i + 2, 1)
    If tmpStr = myStr Then C = C + 1
  Next i
  MsgBox myStr & "は" & C & "個です"
End Sub
ただしこれ考えられる全パターンとなると2^(n+1)-2個あり
計算量的にきついことになるのではないでしょうか?

>こんにちは
>
>こんな感じでどうですか?
>
>Sub test()
>Const myStr As String = "101" '探す文字
>Dim myCount As Long
>myCount = UBound(Split(Join(Application.Transpose(Range("B1", Range("B1").End(xlDown)).Value), ""), myStr))
>MsgBox myStr & "は" & myCount & "個です"
>End Sub

0 hits

【62767】連続したセルのパターンの個数を調べるには fool 09/8/31(月) 8:55 質問
【62769】Re:連続したセルのパターンの個数を調べる... もも 09/8/31(月) 11:16 発言
【62771】Re:連続したセルのパターンの個数を調べる... SS 09/8/31(月) 11:53 発言
【62772】Re:連続したセルのパターンの個数を調べる... もも 09/8/31(月) 13:08 発言
【62770】Re:連続したセルのパターンの個数を調べる... Yuki 09/8/31(月) 11:46 発言
【62773】Re:連続したセルのパターンの個数を調べる... SS 09/8/31(月) 13:58 発言
【62774】Re:連続したセルのパターンの個数を調べる... 超初心者 09/8/31(月) 14:30 発言
【62778】Re:連続したセルのパターンの個数を調べる... fool 09/9/1(火) 1:38 お礼

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