|
▼kz さん:
こんにちは。
>
>先日、教えていただいた内容を元に、自分で作ってみたら、見事、出来ました。
>それで、4列目の値(数値)について、桁区切りを入れようと思い、色々
>試行錯誤したのですが、どうやっても、桁区切りはできますが、左揃えになってしまいます。
>以下の様な内容ではまずいのでしょうか?
まずいです・・・。
edit_rsetというFunctionプロシジャーを使って、半角11文字分(正確には11バイト、例題ではね)の文字列長に対して、指定された文字を見かけ右寄せになるように
頭に空白を埋めています。
よって、edit_rsetで編集後に再度
>if myarray(idx-1,jdx-1)=format(rng.cells(idx,jdx).value,"#,##0")
> end if
(何だかわかりませんが、気持ちはわかります。)
これを入れてしまっては、編集した意味がなくなってしまいます。
以下のようにして下さい。
>
>Sub リストボックスの設定()
> With ListBox1
> .ColumnCount = 4
> .Width = 352
> .Font.Name = "MS ゴシック"
> .Font.Size = 11
> .Clear
> .ColumnWidths = "85.1;85.1;85.1;85.1"
> Set rng = Range("a1:d10")
> ReDim myarray(rng.Rows.Count - 1, rng.Columns.Count - 1)
> For idx = 1 To rng.Rows.Count
> For jdx = 1 To rng.Columns.Count
> If jdx = 2 Then
myarray(idx - 1, jdx - 1) = trim(rng.Cells(idx, jdx).Value)
Elseif jdx=4 then
myarray(idx - 1, jdx - 1) = edit_rset(Trim(Format(rng.Cells(idx, jdx).Value, "#,##0")), 11)
else
myarray(idx - 1, jdx - 1) = edit_rset(Trim(rng.Cells(idx, jdx).Value), 11)
'今見たらTrim関数も入れておいたほうが無難だと思うので入れといて!!
> End If
>
> ↓ここを追加しました。
' ↓追加は、削除してください
>
> if myarray(idx-1,jdx-1)=format(rng.cells(idx,jdx).value,"#,##0")
> end if
>
>
> Next jdx
> Next idx
> .List() = myarray()
> End With
>End Sub
確認してみて下さい。
|
|