Excel VBA質問箱 IV

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

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


30789 / 76733 ←次へ | 前へ→

【51206】Re:textboxに連記
お礼  hisao E-MAIL  - 07/9/3(月) 15:44 -

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

有り難うございました。
素晴らしいプログラム本当に助かりました
パッセンジャーさんも有り難うございました

>▼hisao さん:
>こんばんは。
>
>>このような際、既にA列に入っている数字の最大値以下の数字で欠番をmsgboxに書きたい場合はどうなるのでしょうか?つまり A1からA100に入っている数字の最大値がiの場合、1からiの数字で欠番を探したいのです
>>”少しは自分で考えろ”と叱られそうですが、配列が余り解りませんので宜しくお願い致します
>これ、Match関数より、Countif関数の方がちょっと簡単になりますね!!
>'=====================================================
>Sub main()
>  Const maxlim = 20 '←最大値
>  Dim add As String
>  add = "a1:a100"
>  With Range(add)
>    .Formula = "=int(rand()*100)+1"
>    .Value = .Value
>    End With
>  '↑A1:A100にサンプル作成
>  MsgBox Join(Filter(Application.Transpose( _
>      Evaluate( _
>      "IF(countif(" & add & ",ROW(a1:a" & maxlim & _
>      "))=0,ROW(a1:a" & maxlim & _
>      "),""×"")")), "×", False), ",")
>End Sub
>
>もっとも、配列数式が嫌いなら、ループを使って同じことをしたほうが良いでしょうか
>
>Sub main2()
>  Const maxlim = 20
>  Dim add As String
>  Dim ans() As String
>  Dim g0 As Long, g1 As Long
>  add = "a1:a100"
>  'With Range(add)
>   ' .Formula = "=int(rand()*100)+1"
>   ' .Value = .Value
>    'End With
>  '↑A1:A100にサンプル作成
>  g1 = 0
>  For g0 = 1 To maxlim
>    If Application.CountIf(Range(add), g0) = 0 Then
>     ReDim Preserve ans(1 To g1 + 1)
>     ans(g1 + 1) = g0
>     g1 = g1 + 1
>     End If
>    Next
>  If g1 > 0 Then MsgBox Join(ans(), ",")
>End Sub

2 hits

【51176】textboxに連記 hisao 07/9/1(土) 13:08 質問
【51177】Re:textboxに連記 ぱっせんじゃー 07/9/1(土) 13:13 発言
【51181】Re:textboxに連記 ichinose 07/9/1(土) 19:21 発言
【51192】Re:textboxに連記 hisao 07/9/2(日) 19:39 発言
【51197】Re:textboxに連記 ichinose 07/9/2(日) 21:56 発言
【51206】Re:textboxに連記 hisao 07/9/3(月) 15:44 お礼

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