| 
    
     |  | ▼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
 
 確認してみて下さい。
 
 |  |