• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vbaを使用して文字をそろえる)

VBAを使用して文字をそろえる方法

このQ&Aのポイント
  • VBAを使用して行の文字をそろえる方法について説明します。現在、VBAを使用して行の文字をそろえるプログラムを作成しています。具体的には、指定された行にある特定の位置の文字列を基準にして、その行の他の位置の文字列をそろえたいと考えています。現在、スペースを使用してそろえることはできるのですが、タブに変更すると文字がずれてしまいます。この問題を解決するための良い方法があればご教示ください。
  • VBAを使用して行の文字をそろえる方法について質問です。現在、VBAを使用して文字をそろえるプログラムを作成しています。具体的には、特定の位置の文字列を基準にして、その行の他の位置の文字列をそろえたいと考えています。スペースを使用してそろえることはできるのですが、タブに変更すると文字がずれてしまいます。この問題を解決する方法をご教示いただけないでしょうか。
  • VBAを使用して行の文字をそろえるプログラムを作成していますが、タブに変更すると文字がずれてしまいます。この問題を解決する方法があれば教えてください。現在は、スペースを使用してそろえていますが、タブに変更するとずれてしまいます。どのように修正すれば、文字を正しくそろえることができるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yorozu_ya
  • ベストアンサー率54% (76/140)
回答No.1

> そうすると出力したものがずれてしまいます。 どのようにずれるのかが肝心なのですが。 (1) プロポーショナルフォントを使っている為ずれる。 (2) バイト数の計算の仕方が間違っている。 のどちらかなのではないかと。

msyh9999
質問者

お礼

一応、完璧ではないですが、自己解決しました。 私の説明不足だったと思うのですが、 >"あ" AS 行あの名前 >"いう" AS 行いうの名前 >"えおか" AS 行えおかの名前 >"きく" AS 行きくの名前 >"け" AS 行けの名前 の部分はEXCELのセル内に記述されているものから、 抜き出したもので、編集はすべてVBAで行っています。 編集したものを、VBAの機能でクリップボードにコピーして、 テキストエディタに貼り付けると、崩れてしまうのです。 例えば a AS a1 aa AS a2 aaa AS a3 aaaa AS a4 aaaaa AS a5 というものもずれてしまいます。 なので、フォントは特に関係ないかなと思っています。 バイトの計算も、タブに変換しなければ"AS"の位置は揃うので それも間違ってはいないと思っています。 ただ、無理やり最大の文字数に合わせてスペースを埋め込んでいくので、 「1タブのスペース数」では変換できないもの(例えば1タブ4スペースで、 文字の後ろに13スペース付ける場合は、1スペースあまってしまう) があるのでその辺は何度か繰り返し実行してみて、パターンがあったので、 それに対応してみました。 ご回答ありがとうございました。

関連するQ&A