Excel VBA質問箱 IV

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

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


4693 / 13644 ツリー ←次へ | 前へ→

【55137】ListboX内の文字揃え 亜矢 08/4/16(水) 16:32 質問[未読]
【55140】Re:ListboX内の文字揃え VBWASURETA 08/4/16(水) 16:59 発言[未読]
【55142】Re:ListboX内の文字揃え 亜矢 08/4/16(水) 17:04 質問[未読]
【55144】Re:ListboX内の文字揃え VBWASURETA 08/4/16(水) 17:17 回答[未読]
【55145】Re:ListboX内の文字揃え VBWASURETA 08/4/16(水) 17:20 発言[未読]
【55148】Re:ListboX内の文字揃え 亜矢 08/4/16(水) 17:42 お礼[未読]

【55137】ListboX内の文字揃え
質問  亜矢  - 08/4/16(水) 16:32 -

引用なし
パスワード
   よろしくお願いします。
下記のプログラムはデータを取得してListbox1に表示するものです。

   PL = .Range("F10000").End(xlUp).Row
   If PL = 100 Then Exit Sub
  
   Set A = Range(Cells(101, 6), Cells(PL, 6)).SpecialCells(xlCellTypeVisible)
   For Each area In A.Areas
    For Each R In area
     k = k + 1
     ReDim Preserve Mat(1 To 4, 1 To k)
     Mat(1, k) = .Cells(R.Row, 6).Value
     Mat(2, k) = .Cells(R.Row, 7).Value
     Mat(3, k) = .Cells(R.Row, 8).Value
     Mat(4, k) = Format(Format(.Cells(R.Row, 9), "#,##0"), String(11, "@"))
     
     
    Next
   Next
  
        With UserForm24.ListBox1
         .ColumnCount = 4
         .ColumnWidths = "130;70;190;75"
         .Column = Mat


        End With
 質問はMat(4,K)の表示ですが、金額なので右揃えとしたいところですが、
 上記のプログラムでやると、ちょっとずれてしまいます。
 完全に右揃えとする方法を教えて頂きたいと思います。

【55140】Re:ListboX内の文字揃え
発言  VBWASURETA  - 08/4/16(水) 16:59 -

引用なし
パスワード
   ▼亜矢 さん:
こんにちは。

Excelのフォームでそこまで求めたことはないので
何とも回答できませんが^^;

自分の環境だと

Mat(4, k) = Format(Format(.Cells(R.Row, 9), "#,##0"), String(20, "@"))

で、丁度良い感じになりました。
解像度の環境によって変わったりするかも知れないので微調整なのかなっと。

【55142】Re:ListboX内の文字揃え
質問  亜矢  - 08/4/16(水) 17:04 -

引用なし
パスワード
   ▼VBWASURETA さん:
>▼亜矢 さん:
>こんにちは。
>
>Excelのフォームでそこまで求めたことはないので
>何とも回答できませんが^^;
>
>自分の環境だと
>
>Mat(4, k) = Format(Format(.Cells(R.Row, 9), "#,##0"), String(20, "@"))
>
>で、丁度良い感じになりました。
>解像度の環境によって変わったりするかも知れないので微調整なのかなっと。
早速のご指導ありがとうございます。
 string(20 ← の20はどのような意味があるか教えて頂きたいと
 思います。

【55144】Re:ListboX内の文字揃え
回答  VBWASURETA  - 08/4/16(水) 17:17 -

引用なし
パスワード
   ▼亜矢 さん:
> string(20 ← の20はどのような意味があるか教えて頂きたいと
> 思います。

String関数の引数は全文字列数に相当します。

例えば、

1,5000

の6桁の文字列の場合、

□□□□□□□□□□□□□□1,5000

と前に14文字分の空白が入ります。
※□は半角空白と思ってください。

のような数字があるとした場合、「1,5000」は6文字ですよね?
もし20とした場合、全文字列20までで6文字+空白14文字分=全20文字
が付きます。

【55145】Re:ListboX内の文字揃え
発言  VBWASURETA  - 08/4/16(水) 17:20 -

引用なし
パスワード
   追記です。

先ほど解像度と言いましたが、フォントの種類でも変わります。

フォント例:明朝体、ゴシック等

【55148】Re:ListboX内の文字揃え
お礼  亜矢  - 08/4/16(水) 17:42 -

引用なし
パスワード
   ▼VBWASURETA さん:
>追記です。
>
>先ほど解像度と言いましたが、フォントの種類でも変わります。
>
>フォント例:明朝体、ゴシック等
ありがとうございました。ゴシック体でやっていましたので、
文字の大きさがかわることになるので、明朝体で実施しました。
うまくいきました。
今後もよろしくお願いします。

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