Excel VBA質問箱 IV

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

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


13422 / 13646 ツリー ←次へ | 前へ→

【5501】リストボックス内の表示方法について gio 03/5/16(金) 14:47 質問
【5502】Re:リストボックス内の表示方法について Be Quit 03/5/16(金) 15:09 回答
【5504】Re:リストボックス内の表示方法について gio 03/5/16(金) 15:53 質問
【5506】Re:リストボックス内の表示方法について つん 03/5/16(金) 16:10 発言
【5507】Re:リストボックス内の表示方法について gio 03/5/16(金) 16:41 お礼

【5501】リストボックス内の表示方法について
質問  gio  - 03/5/16(金) 14:47 -

引用なし
パスワード
   :Excel2000使用

・リストボックスの1行ごとにテーブル名とデー
タを入れていくときに

↓リストボックス内↓
--------------------------------------
List(0):XXXXXテーブル    XXXXXデータ
List(1):XXXXXテーブル    XXXXXデータ
List(2):XXXXXテーブル    XXXXXデータ
List(3):XXXXXテーブル    XXXXXデータ
List(4):XXXXXテーブル    XXXXXデータ
--------------------------------------

このようにテーブル名とデータが揃うように入
れていき、リストボックスから選択したものを
エクセルに表示するようにしたいのですが、実
際にデータが入力されると

↓リストボックス内↓
--------------------------------------
あああテーブル    XXXXXデータ
AAAテーブル    XXXXXデータ
AAああテーブル    XXXXXデータ
ああ_AAテーブル    XXXXXデータ
あA_AAテーブル    XXXXXデータ
--------------------------------------

半角や全角が入ったテーブル名があってきれい
に揃わずにうまくいきませんでした。

・はじめはテーブル名の最長のもののlengthを
求め、その長さから入力されるテーブル名の
lengthを引いた長さだけスペースを入れたりし
たのですが半角と全角の区別がつかずにダメで
した。

↓簡略ソースコード↓
Dim leng as integer
Dim spa as integer

'AAAはオブジェクト
  Do Until AAA.EOF
    If leng < LenB(AAA.Fields("TABLE_NAME").Value) Then leng = LenB(AAA.Fields("TABLE_NAME").Value)
    AAA.MoveNext
  Loop
  
  AAA.MoveFirst
  Do Until AAA.EOF
    spa = 0
    spa = leng - LenB(AAA.Fields("TABLE_NAME").Value)
    
    Form1.List1.AddItem AAA.Fields("TABLE_NAME").Value & Space(spa) & AAA.Fields("TABLE_DATA").Value
    AAA.MoveNext
  Loop

・エクセルを使う前のところなのですが、なにか
良い方法があれば教えてください。
お願いします。

【5502】Re:リストボックス内の表示方法について
回答  Be Quit  - 03/5/16(金) 15:09 -

引用なし
パスワード
   ▼gio さん:
「AddItem」や「&」じゃなくて
「RowSource」か「List()」じゃいけませんか。

間違ってたらごめんなさい。

【5504】Re:リストボックス内の表示方法について
質問  gio  - 03/5/16(金) 15:53 -

引用なし
パスワード
   できればAddItemを使ってデータを入れていきたいのですが・・・

文字の全角と半角の区別がわかれば何とかなるのですが
方法がわかりません

ダメなようならあきらめます。
どうかお願いします。

【5506】Re:リストボックス内の表示方法について
発言  つん E-MAIL  - 03/5/16(金) 16:10 -

引用なし
パスワード
   gio さん、Be Quitさん、こんにちは

>文字の全角と半角の区別がわかれば何とかなるのですが
>方法がわかりません

全角を2バイト、半角を1バイトで数えて文字列の長さを調べたらいいですよね?
こちらのスレッドが参考になると思います。

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=3255;id=excel

【5507】Re:リストボックス内の表示方法について
お礼  gio  - 03/5/16(金) 16:41 -

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

こちらでも同じような処理をしていたらうまくいきました。
わざわざすいませんでした。感謝です m(_ _)m

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