[[20181011191733]] 『VBA 入力値の桁数によって動作を変える』(neko) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBA 入力値の桁数によって動作を変える』(neko)

はじめまして。

VBAを使って、
・1〜50までの列(終わりの列は開くデータによって変わる)
・3行目以下(終わりの行は開くデータによって変わる)
・入力値が全て3桁以内の列

上記の条件の列の幅を4センチに変えたいのです。
列全体の数や、入力値が全て3桁以内の列の位置や数は開くデータによって変わります。

1〜2行目の入力値の関係で自動調整機能を使わずに、
強制的?に4センチに変えることは可能でしょうか。
1〜2行目の入力値が3桁以上でも4センチに幅を設定し、
切れた場合は後から折り返し表示するつもりなのです。

lenを使ったら出来るのか調べてみましたが、やり方がよくわかりません。
どうぞよろしくお願いします。

以下の場合、C列のみ4センチに幅を設定するイメージです。

     A                  B                 C    
1   タイトル1 | タイトル2 | タイトル3 |
2   
3   12345       | 1234          | 123           | 
4   12             | 12345        | 12             |
5   123           | 123            | 123           |

< 使用 Excel:Excel2010、使用 OS:Windows7 >


えーっと。
手動でやってみれば容易にわかるかと思いますが、列の幅、行の高さはシートで共通なので
・3行目以下(終わりの行は開くデータによって変わる)
のように特定の"行"だけ"列幅”を変更することは出来ないと思われます。
(例であげられたように、3行目以下の入力値が全て3桁以内の列 であればOk)

また、マクロの記録を使えば容易に調べられますが、列幅を設定する命令はもうご存知ですか?
まだであれば、ぜひマクロの記録ボタンを押してから手動で列幅を変更してみてください。
どのような命令を使えばよいのか、Excel君が教えてくれます。

ただ、列の幅は実にややこしくて、使用しているフォントに左右されます。
https://allabout.co.jp/gm/gc/297706/

なので、実際にはアドインとかを導入しないのであればトライ&エラーで"約4cm"になる値を調べるしかないんじゃないかな〜なんて思います。

(もこな2) 2018/10/11(木) 21:10


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.