質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

2回答

632閲覧

エクセルVBAのリストボックスの列指定方法について

xxmotosxx

総合スコア0

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/05/19 07:05

前提・実現したいこと

エクセルVBAのリストボックスで各変数に格納したデータを2列に表示させたいです。
列指定ができなくて,1列しか表示できません。
変数 Tsを1列目 Ts2を2列目に表示する場合どのようにしたらよいでしょうか?
ご教授をお願いいたします。

該当のソースコード

'**************************************************************************
'    ユーザーフォーム初期化
'**************************************************************************
Private Sub UserForm_Initialize()
Dim rC, i, i2, X, G, G2 As Integer
Dim Tk(), Tk2() As String
Dim Ts(), Ts2() As String
rC = Sheet4.Cells(Rows.Count, 3).End(xlUp).Row + 1
On Error GoTo tobi1
X = 0
Y = 0
ReDim Tk(1 To rC)
With Sheet4
For i = 1 To rC - 4
'該当範囲からデータを取得する
ReDim Preserve Ts(X)
Tk(i) = Sheet4.Cells(rC - i, 3)
If Not (Tk(i) = "") Then
For G = 0 To X
If Tk(i) = Ts(G) Then
Y = 1
End If
Next G
If Y <> 1 Then
Ts(G - 1) = Tk(i)
X = X + 1
End If
Y = 0
End If
Next i

ReDim Tk2(1 To rC) For i2 = 1 To rC - 4 ReDim Preserve Ts2(X) Tk2(i2) = Sheet4.Cells(rC - i2, 4) If Not (Tk2(i2) = "") Then For G2 = 0 To X If Tk2(i2) = Ts2(G2) Then Y = 1 End If Next G2 If Y <> 1 Then Ts2(G2 - 1) = Tk2(i2) X = X + 1 End If Y = 0 End If Next i2 End With With UserForm2 ListBox1.List() = Ts ListBox1.List() = Ts2 ListBox1.SetFocus ListBox1.ListIndex = 0 End With

tobi1:

End Sub

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2020/05/19 07:22

コードは「コードの挿入」で記入してください。
guest

回答2

0

別の回答にあるリンク先を見たとのことですが、同じような処理になっているとは思えません。
リンク先の説明では、2次元配列を作成しListに代入していますが、今は1次元配列を2回代入していますよね。

VBA

1Dim Ts(), Ts2() As String 2ListBox1.List() = Ts 3ListBox1.List() = Ts2

1次元配列だから1列にしか入りませんし、2回やっているので2回目のもので上書きされてしまいます。
2次元配列を作成するように作りなおしてみてください。

投稿2020/05/19 08:10

ttyp03

総合スコア17000

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

下記サイトが参考になります。

複数列のリストボックス

投稿2020/05/19 07:25

meg_

総合スコア10762

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xxmotosxx

2020/05/19 07:40

ありがとうございます。 そのサイトは確認しColumnCountプロパティも設定したのですが、1列しか表示されないので、質問いたしました。
meg_

2020/05/19 08:11

質問への依頼欄にも書きましたが、コードが読みにくいのでコードは「コードの挿入」で記入してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問