Excel VBA質問箱 IV

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

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


21698 / 76733 ←次へ | 前へ→

【60425】配列変数の受け渡し方法について教えてください。
質問  瞬希  - 09/2/20(金) 20:41 -

引用なし
パスワード
   いつも皆様には大変お世話になっております、ありがとう御座います。

今回、変数の受け渡しについて教えて頂けないかと投稿させて頂きました。
まだまだ力不足で無駄なコードが多いとは思いますが生暖かい目で見ていただけると幸いです。

下記のコードで、userform2のlistbox1にuserform1のcombobox1で検索したmykekkaのoffsetを反映させました。
この後ですが、変数rangid(rangidno)をuserform2のlistbox1で再度使いたいと思い自分なりに調べてみたのですが全く要領を得ることができません。

ぜひ配列変数の受け渡し方法について教えて頂けないでしょうか、よろしくお願いいたします。

Private Sub ComboBox1_Change()
Dim mykekka As Range
Dim rangidno As Byte, rangid() As Variant

UserForm2.ListBox1.Clear
If Me.ComboBox1 <> "" Then
With ThisWorkbook.Worksheets("○○").Range("b:b")
Set mykekka = .Find(what:=ComboBox1, _
lookat:=xlWhole, _
SearchOrder:=xlByColumns, _
MatchCase:=False, _
MatchByte:=False)

'〜〜同一があった場合〜〜
If Not mykekka Is Nothing Then
first = mykekka.Address
  Do
'〜〜ReDimの為のカウント〜〜
    rangidno = rangidno + 1

'〜〜変数rangidの要素数の変更(前に格納したデータを消さずに)〜〜
ReDim Preserve rangid(rangidno)

'〜〜変数rangidに見つかったセルを格納〜〜
rangid(rangidno) = mykekka.Address
  
    Set mykekka = .FindNext(After:=mykekka)
  Loop Until mykekka.Address = first

'〜〜userform2に格納したデータを反映〜〜
With UserForm2
    With .ListBox1
      .ColumnCount = 2
      .ColumnWidths = "45;45"
      For i = 1 To rangidno
        .AddItem
        .List(i - 1, 0) = StrConv("part.no." & ThisWorkbook.Worksheets("○○") _
          .Range(rangid(i)).Offset(0, 1), 3)
        .List(i - 1, 1) = StrConv("rev.no." & ThisWorkbook.Worksheets("○○") _
          .Range(rangid(i)).Offset(0, 2), 3)
      Next i
    End With
      .StartUpPosition = 0
      .Top = UserForm1.Top
      .Left = UserForm1.Left + 145
      .Show (vbModeless)
End With

1 hits

【60425】配列変数の受け渡し方法について教えてください。 瞬希 09/2/20(金) 20:41 質問
【60429】Re:配列変数の受け渡し方法について教えて... neptune 09/2/20(金) 22:20 回答
【60430】Re:配列変数の受け渡し方法について教えて... 瞬希 09/2/20(金) 22:40 発言
【60431】Re:配列変数の受け渡し方法について教えて... 瞬希 09/2/20(金) 23:38 お礼

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