Excel VBA質問箱 IV

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

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


75377 / 76734 ←次へ | 前へ→

【5794】Re:コンボボックスで未使用の番号を代入する方法
回答  Kein  - 03/5/30(金) 23:40 -

引用なし
パスワード
   速いかどうかは分かりませんが、分かりやすいコードとして・・

Sub Test()
  Dim FR As Range, FR2 As Range, MyR As Range
  Dim i As Long, Mx As Long, Mi As Long

  x = UserForm1.ComboBox1.Value
  With Sheets("Sheet1")
   Set FR = .Columns(1).Find(x, , xlValues, xlWhole)
   Set FR2 = .Columns(1).Find(x, , xlValues, , xlPrevious)
   Set MyR = .Range(FR, FR2).Offset(, 1)
  End With
  Mx = WorksheetFunction.Max(MyR)
  Mi = WorksheetFunction.Min(MyR)
  If Mx - (Mi - 1) = MyR.Cells.Count Then
   MsgBox "未使用の数値がありません", 64
  Else
   For i = Mi + 1 To Mx
     If IsError(Application.Match(i, MyR, 0)) Then
      Exit For
     End If
   Next i
   UserForm1.ComboBox2.AddItem i
  End If
  Set FR = Nothing: Set FR2 = Nothing: Set MyR = Nothing
End Sub
   
というのは、どうでしょーか ? 未使用の最小値が1つ入ります。

0 hits

【5779】コンボボックスで未使用の番号を代入する方法 まこさん 03/5/30(金) 11:32 質問
【5794】Re:コンボボックスで未使用の番号を代入する... Kein 03/5/30(金) 23:40 回答
【5809】Re:コンボボックスで未使用の番号を代入する... まこさん 03/6/2(月) 11:12 お礼

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