|
▼中川 さん:
>ユーザーフォーム上のラベルへ複数項目を表示するため、「format」で指定することで、うまく並べることができました。だが、改行して次のデータを表示することができず困っております。
>
>Private Sub UserForm_Initialize()
> Workbooks.Open Filename:="D:\genryou-f.csv"
> Windows("処理1.xls").Activate
> Worksheets("sheet1").Select
> Open "D:\genryou-f.csv" For Input As #1
> i = 1
> Do While Not EOF(1)
> For j = 1 To 4
> Input #1, genryou(i, j)
> Next j
> i = i + 1
> Loop
> Close #1
> m = 0
> For k = 1 To 5
ここが、文字列を追加するのではなく、上書きになっているので、最終的にk=5の結果が表示されます。
> Label1.Caption = Format(genryou(k + m, 1), "000") & " " & _
> Format(genryou(k + m, 2), "&&&&&&&&&&") & " " & _
> Format(genryou(k + m, 3), "#,##0") & " " & _
> Format(genryou(k + m, 4), "#,##0") & _
> Chr(13) & Chr(10)
> Next k
>End Sub
For k = 1 To 5
If k > 1 Then lbc = lbc & Chr(13) & Chr(10) '改行
lbc = lbc & _
Format(genryou(k + m, 1), "000") & " " & _
Format(genryou(k + m, 2), "&&&&&&&&&&") & " " & _
Format(genryou(k + m, 3), "#,##0") & " " & _
Format(genryou(k + m, 4), "#,##0")
Next k
'
Label1.Caption = lbc
または、
With Label1
For k = 1 To 5
If k = 1 Then .Caption = "" Else .Caption = .Caption & Chr(13) & Chr(10) '改行
.Caption = .Caption & _
Format(genryou(k + m, 1), "000") & " " & _
Format(genryou(k + m, 2), "&&&&&&&&&&") & " " & _
Format(genryou(k + m, 3), "#,##0") & " " & _
Format(genryou(k + m, 4), "#,##0")
Next k
End With
こんな感じです。
LabelラベルのCaptionは最初からLabel1とかが入っている可能性があったので、1回目にクリアしています。
5回目の後の改行がいらないようなので、最初にもってきました。必要なら後ろにつけてください。
|
|