Excel VBA質問箱 IV

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

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


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

【6338】spaceを埋めるには? ぴぃ 03/6/25(水) 9:26 質問
【6340】Re:spaceを埋めるには? Jaka 03/6/25(水) 11:46 回答
【6341】つじつまが合っていないような...。 Jaka 03/6/25(水) 12:05 発言
【6342】Re:spaceを埋めるには? JuJu 03/6/25(水) 12:21 発言
【6347】Re:spaceを埋めるには? ぴぃ 03/6/25(水) 15:51 お礼

【6338】spaceを埋めるには?
質問  ぴぃ  - 03/6/25(水) 9:26 -

引用なし
パスワード
   初めまして。
助けて下さい。

テキストへの出力を行っているのですが
例えば
'AA'(2桁)を'AA '(4桁)するにはどうすればいいのでしょうか?
Excel95の時は
------------------------
Dim bu As String
Dim pmc As String
bu = UCase(LeftB$(bu + "  ", 4))
pmc = UCase(LeftB$(pmc + "  ", 4))
------------------------

'AA BB ’と、後ろspaceが入り、うまく動いていたのですが
Excel97になってから、'AABB'になって4桁にしたいのに
後ろspaceがどうしても入らないのです。

よろしくお願いします。

【6340】Re:spaceを埋めるには?
回答  Jaka  - 03/6/25(水) 11:46 -

引用なし
パスワード
   こんにちは。
これの性じゃないんですか?

UCase 関数



解説
小文字だけが大文字に変換されます。小文字のアルファベット以外の文字は影響を受けません。

こんな感じするとか...。

bu = LeftB(UCase(bu) & " ", 4)
pmc = LeftB(UCase(pmc) & " ", 4)

【6341】つじつまが合っていないような...。
発言  Jaka  - 03/6/25(水) 12:05 -

引用なし
パスワード
   >これの性じゃないんですか?
>解説
>小文字だけが大文字に変換されます。小文字のアルファベット以外の文字は影響を受けません。

これも関係しているんかも。

引数 string には、任意の文字列式を指定します。引数 string に Null 値が含まれていると、Null 値を返します。

スペースはNullとして扱われるのか、良く解りませんが。

【6342】Re:spaceを埋めるには?
発言  JuJu E-MAIL  - 03/6/25(水) 12:21 -

引用なし
パスワード
   ぴぃさん、Jakaさん、こんにちはぁ

>'AA BB ’と、後ろspaceが入り、うまく動いていたのですが
>Excel97になってから、'AABB'になって4桁にしたいのに

Excelは95まではS-JIS、97からはUNICODEで文字を扱っています。
UNICODEの場合、半角文字でも2バイトで扱うので、そんな感じになります。

StrConvで一度S-JISに変換して、LeftBで4文字にして、StrConvでUNICODEに戻すと言う方法を使います。
とりあえず、StrConvのヘルプを見てみてね。

ではではぁ

【6347】Re:spaceを埋めるには?
お礼  ぴぃ  - 03/6/25(水) 15:51 -

引用なし
パスワード
   JuJuさん Jakaさん ありがとうございました。

結局、このように組んでみました。

   bu = StrConv(bu, vbFromUnicode)
   bu = LeftB$(bu + "  ", 4)
   bu = UCase(StrConv(bu, vbUnicode))
   pmc = StrConv(pmc, vbFromUnicode)
   pmc = LeftB$(pmc + "  ", 4)
   pmc = UCase(StrConv(pmc, vbUnicode))

今、Excel95からExcel97へマクロの見直しを行っています。
また分からないことがあれば質問させていただきたいと思いますので
よろしくお願いします。

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