• ベストアンサー

フォームのラベルの書式変更が不十分?

 またもやお世話になります。  ユーザーフォームに、ラベルのプロパティのBorderStyleを -fmBorderStyleSingle- にして枠を表示する形式で並べ、 表に見えるような表現をしています。  枠に対する左詰、中央揃え、右詰は、プロパティの TextAlign で可能なのですが、上下の中央揃えがどうしても見つかりません。 どうすれば、文字列を上下の枠の中央に持ってこれるのでしょうか?  プロパティで無理ならば、関数や、マクロでも構いませんので、よろしくご教授ください。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

Excelのユーザーフォームとしての回答です。 残念ながら、上下の中央揃えはできないはずです。 >関数やマクロでも構いませんので・・・ 関数やマクロでは余計無理でしょう。 だいぶ前に、『APIを使って、できる』という書き物を見た記憶がありますが・・・ 現行をあまり変えずに、『ラベルの使用』を条件に考えてみました。 ●ラベルの内容(文字数)が実行してもデザイン時のまま変わらない場合、  今あるラベルのBorderStyleは全て 0-fmBorderStyleNone にします。  今の 1-fmBorderStyleSyngle の機能の代わりに、   縦線用ラベル BorderStyle := 1-fmBorderStyleSyngle、Width := 1   横線用ラベル BorderStyle := 1-fmBorderStyleSyngle、Height := 1  を使って、罫線を書きます。縦線用ラベル、横線用ラベルをコピーして作ります。  LeftやTopを直接指定したほうが速いかもしれません。  ツール→オプション→全般タブでグリッドの表示をチェックして  グリッドの単位を幅、高さとも『2』くらいにしておけば配置しやすいでしょう。 ●ラベルの内容(文字数)が実行時に変わる場合、  最大幅、最大の高さのラベルで上のようにして罫線枠を作成します。  実行時に、コードで、変更したラベルのLeftとTopを書き換えて  最適位置に配置することになります。 今は、無頓着になって、適当に配置することが多くなりました。ご参考に。

TK1961
質問者

お礼

 なるほど、そうだったんですね。 横が出来るので、縦も出来るだろうと思い、入手可能な範囲の本を、探しまくって判らなかったのも、仕方のないことでしたか。  では、まずは教えていただいた方法で、工夫してみます。 勉強になりました、ありがとうございます。  不明な点が出たら、また別件で質問させていただきます。

関連するQ&A

  • Accessのフォームの書式設定

    売上のテーブル(売上テーブル)を元にクエリ(売上クエリ)を作りました。そしてその売上クエリを元にフォーム(売上フォーム)を作りました。オートフォーム(単票形式)で作ったのですが、フォームビューからデザインビューへ切り替えました。「ラベル」(ID、商品名、価格)と「テキストボックス」(ID、商品名、価格)が表示されています。「ラベル」も「テキストボックス」に表示されている名前の文字(ID、商品名、価格))は全て左揃えで表示されているのに、実際にフォームビューでは「価格」の数値の表示は右揃えされています。これはどうしてでしょうか?数値はエクセルなどと同じで右揃えされるのでしょうか? その後、デザインビューへ切り替えて「テキストボックス」の「価格」を中央揃えにしてフォームビューに切り替えてると中央揃えにはなっていました。オートフォームで作ったすぐの状態では、デザインビューではテキストボックスの表示されている文字は全て左揃えになるがフォームビューでは数値は右揃えになるのでしょうか? 教えてください。

  • フォームのデータシートラベル色変更(ACCESS)

    基本的な質問で恐縮ですが、ネットで色々調べても解決しなかったため、投稿しました。 フォーム(データシート形式)で各項目を投入できるようにしたのですが、項目数が多すぎて、優先順位を付けるために、ラベルに色付けを しようと考えています。 デザインビュー→ラベル選択→プロパティで背景色変更→フォームビュー切替で表示させても、色がグレーのままです。 ラベル色の変更方法を教えてください。

  • VBAでラベルの文字位置について

    VBAでラベルの中央に文字を表示させようとしています。 横位置はTextAlignプロパティで中央表示できたのですが、 縦位置の表示設定はどうしたらできるのでしょうか。 ExcelやAccessのように余白の設定はできないのでしょうか。 初歩的な質問で申し訳ありませんが、調べてもよくわからなかたもので。。 よろしくお願いします。

  • Word2000でラベルに図を挿入したときの詳細設定について

     ワードで ツール>宛名ラベル作成 を選択してラベルを呼び出し、各ラベルに文字と図を挿入しようとしていますがなかなか思うようにいきません。  図の書式設定でレイアウトを”前面”にして、オプションの”文字列と一緒に移動する”のチェックをはずし、”アンカーを段落に固定する””オーバーラップさせる”にチェックを入れていますが、ラベルがいつのまにか2分割されたり、上下中央揃えになっているにも関わらず文字列が上に寄ってしまったり・・・。  もっと効率よくラベルに図と文字を挿入する方法を教えてください!

  • シート名が半角数値だったら、それら全シートに設定を。

    エクセル2000です。 マクロを作成したいのですが、どなたかお知恵をお貸しください。 やりたいこと。 シート名が半角数値だったら、それら全てのシートに下記の設定を施しなさい。 ↓ココから 選択した全シートの1行目は左揃え。 選択した全シートの2行目,3行目は中央揃え。 選択した全シートの4行目以下の全行について、横位置を・・・ A列→中央揃え B列→左揃え C列→中央揃え D列→右揃え E列→左揃え&折り返して全体を表示する。 F列→中央揃え G列→中央揃え 選択したシート全ての縦位置を・・・ 全てを中央揃え ↑ココまで ↓ココから ↑ココまで  は、自動マクロですでに作成してあるので、OKです。 知りたいこと。 シート名→1,2,3,・・・、いくつまでシートがあるかは不明確であり(今後増える)、 かつ、数値が飛び飛びになる可能性がある場合の設定の仕方を知りたいです。 シート名が1,2,4,5,10・・・などとなる場合があります。 このような場合、どのように設定したら良いのでしょうか。 よろしくお願いいたします。

  • ラベル内容変更の簡略化がしたい。

     いつもお世話になっております。  エクセル97のVBAで、ユーザーフォーム上に配置されたラベルの内容を書き換えて、ユーザーフォームに表示される文字列を変更するのは、 Label1 = 文字列  と、するだけで良いことは気づいていましたが、今度は大量のラベルの内容を一気に変えたくなり、For文系の命令で添え数字を変化させたい、と思ったのですが、上手くいきません。  ここはどういう風に記述すべきなのでしょうか?  以下の例のようなイメージで、2行目の記述はどうすべきでしょうか? ====================================================================== 例)Label1からLabel100までの内容を、一括変更するマクロ For i = 1 to 100 Label & i = "使用中" Next ======================================================================  よろしくお願いします。

  • アクセルのフォームにおける書式設定について

    フォーム上で文字の配置を設定する際に、枠内において横位置は左・中央・右・均等とあるのですが、縦位置にかんしては上余白、下余白などしかありません。 縦位置を中そろえなどには出来ないのでしょうか? アドバイスの程宜しくお願いします。

  • 表の中の文字揃え

    朝からやってますが、うまくいきません。教えてください。 7行5列の表で、文字を入力し、中央揃えにしたいです。 中央にはきますが、上下左右とも中央の位置にしたいのですが、枠から見て、上下が、若干、上のような気がします。もう少し、下に動けば万歳なのですが。

  • Excelで数値が左揃えになって中央揃えできない

    他人が作成したExcelシートに記入しているのですが、特定セルのみ、数値を入力すると左揃えになってしまい、中央揃えできません。 当該セルの書式設定は標準、中央揃えになっており、かなや漢字等の文字を入力すれば中央揃えで表示されます。 また、数値を入力して表示形式を標準から文字列に変えても左揃えのままですが、数値の前に「'」を付けて文字列と明示して入力すれば、表示形式を標準にしていても中央揃えされます。 そのセルに何かが設定されているのだと思いますが、それが見つけられません。 どのような場合に、そのような挙動になるか御存じの方がおられましたら御教示お願い致します。

  • 上下の位置揃えについて

    オブジェクトの TEXTやLABELで文字を左揃え、中央揃え、右揃えはALIGNMENTプロパティを指定しますが、上下の位置指定はどのようにすれば良いか教えてください。 いつも上揃えになってしまいます。 よろしくお願いします。

専門家に質問してみよう