Excel VBA質問箱 IV

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

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


28141 / 76732 ←次へ | 前へ→

【53897】Re:修正しましたが・・・
回答  VBWASURETA  - 08/2/14(木) 9:45 -

引用なし
パスワード
   ▼ポポ さん:
おはようございます。

それであればこんな感じで良い気がします。

'データ保持配列定義
Dim Da As Variant

'フォーム初期化時に区分コンボボックスへリスト追加
Private Sub UserForm_Initialize()
  Dim i As Integer
  '最初に区分コンボボックスのリストを全て消す
  区分.Clear
  With Worksheets(1)
    'シートの連続データ(B1からD5まで)を配列に入れる
    Da = .Range("B1").CurrentRegion.Value
    
    'Da配列が何も入っていない場合はSubから抜ける
    If (IsEmpty(Da)) Then Exit Sub
    
    'UBound(Da, 2)はDa( 1, ここの素数最大値 )
    For i = 1 To UBound(Da, 2)
      'Da配列に入っているデータをリストに追加
      区分.AddItem Da(1, i)
    Next i
  End With
End Sub

'区分コンボボックスのリスト選択と同時にComboBox1のリスト追加
Private Sub 区分_Change()
  Dim DaIndex As Integer
  Dim i As Integer
  'リストが選択されていないもしくは、配列の中身がない場合はSubから抜ける
  '初期処理に入ってから抜けるようにしても良いかもです
  If (区分.ListIndex = -1 Or IsEmpty(Da)) Then Exit Sub
    
  '最初にComboBox1コンボボックスのリストを全て消す
  ComboBox1.Clear
  
  '選択されたIndexを保持。+1はDa配列の素数とあわせるため
  DaIndex = 区分.ListIndex + 1
  
  'UBound(Da, 1)はDa( ここの素数最大値 ,1 )
  For i = 2 To UBound(Da, 1)
    'Da配列の中身がある場合に入る条件
    If Not (IsEmpty(Da(i, DaIndex)) Or Da(i, DaIndex) = "") Then
      '先ほど保持したIndexはDa配列の2番目の素数として使う
      ComboBox1.AddItem Da(i, DaIndex)
    End If
  Next i
End Sub

0 hits

【53817】addItemについて ポポ 08/2/8(金) 10:37 質問
【53824】Re:addItemについて Jaka 08/2/8(金) 12:09 発言
【53828】Re:addItemについて ポポ 08/2/8(金) 14:08 発言
【53830】Re:addItemについて Jaka 08/2/8(金) 14:35 発言
【53834】Re:addItemについて VBWASURETA 08/2/8(金) 15:42 発言
【53838】Re:addItemについて ポポ 08/2/8(金) 17:10 お礼
【53833】Re:addItemについて VBWASURETA 08/2/8(金) 15:38 発言
【53839】Re:addItemについて ポポ 08/2/8(金) 17:26 質問
【53840】Re:addItemについて VBWASURETA 08/2/8(金) 18:06 質問
【53857】Re:addItemについて ポポ 08/2/12(火) 9:40 発言
【53859】Re:addItemについて VBWASURETA 08/2/12(火) 10:00 回答
【53862】Re:addItemについて ポポ 08/2/12(火) 10:34 発言
【53863】Re:addItemについて VBWASURETA 08/2/12(火) 10:42 回答
【53865】Re:補足 VBWASURETA 08/2/12(火) 11:13 発言
【53866】Re:補足 ポポ 08/2/12(火) 11:59 お礼
【53867】Re:補足 VBWASURETA 08/2/12(火) 13:46 発言
【53869】Re:補足 ポポ 08/2/12(火) 16:10 質問
【53872】Re:補足 VBWASURETA 08/2/12(火) 18:28 質問
【53874】修正しましたが・・・ ポポ 08/2/13(水) 9:28 質問
【53877】Re:修正しましたが・・・ VBWASURETA 08/2/13(水) 13:10 回答
【53883】Re:修正しましたが・・・ VBWASURETA 08/2/13(水) 17:02 質問
【53886】Re:修正しましたが・・・ ポポ 08/2/13(水) 18:10 発言
【53897】Re:修正しましたが・・・ VBWASURETA 08/2/14(木) 9:45 回答
【53905】Re:修正しましたが・・・ ポポ 08/2/14(木) 11:30 お礼
【53910】Re:修正しましたが・・・ VBWASURETA 08/2/14(木) 14:34 発言
【53912】ありがとうございます ポポ 08/2/14(木) 15:49 お礼
【53858】Re:addItemについて Jaka 08/2/12(火) 9:43 発言
【53864】Re:addItemについて ポポ 08/2/12(火) 10:45 発言

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