[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『列幅を取得する関数』(脱初級)
列幅をセルに表示させたいのですが、例えば、B1セルにB列の列幅を数値表示して、
B列の列幅を変えるたびにB1のセルの値が自動的に更新されるような関数を書くこと
は可能でしょうか?
ご教授よろしくお願い申し上げます。
=CELL("width",B1) ですが、 小数点以下を切り捨てた整数になり 列幅を変えたとき [F9]キーで再計算が必要です。 (jun53)
もし、小数点以下も必要であれば、ユーザー関数ではいかがでしょうか?
Alt+F11でVisual Basic Editor を起動し、[挿入]-[標準モジュール]、以下のコードを貼り付けます。
Function haba(retsu As Range) haba = Columns(retsu.Column).ColumnWidth End Function
エクセル上で、=haba(B1)と入力すると、B列の幅が表示されます。
B列の幅が変わったら、再計算する必要があるのですが・・・。 いかがでしょうか?
jun53様>小数点以下を切り捨てた整数になり jun53様、すみません。私の環境(Excel2003,WindowsXP)では、 小数点以下を切り捨てではなく、四捨五入になったのですが・・・。 すみません。(まこ)
あらっ、[四捨五入] そうですね。
こんな関数もあったなと確かめもせず書いて、ヘルプをそのままに書いてしまいました。 失礼しました。 Lotus 1-2-3 だと、@CELL() で行、列きっちりと出してくれたので便利でしたが... Lotus 1-2-3 との互換関数のようですね。
様付きだとチョットくすぐったいです〜 (jun53)
いえいえ、様です。 皆様の長いマクロや、関数を複雑に組み合わせた回答をみていますと、すごいなぁ!! という思いです。(まこ)
横から失礼します。セル幅を出してくれる関数があったなんて驚きました。 ところで、この関数などはどのような場合に使用すると便利なのでしょうか? 私のようなEXCEL初心者には、全く見当もつかないんですが。 もしよろしければ簡単な例などあげて頂ければ嬉しいのですが。(KI)
今確認しました。Excel 2000 ヘルプでも同様に[切り捨てた整数] と書いてあります。 ヘルプを信用できなくなった??
[脱初級]さんの返信が無いままでの書き込みは心苦しいのですが、 以前、列幅取得を活用したのは(Lotus でしたが) A4版に納めたい複雑なレイアウト表を作るときです。 例えば、3×8の宛名ラベルの中に式を入れて金額等も表示させたい、など。 行、列結合や切取線を織り交ぜて、市販ラベルでは出来ないようなものでしたが(数十回の試行錯誤有り) 作って、2回程使用して、今はお蔵入りです。
微妙な調整が必要なので、[まこ]さんが作った =haba(B1) が、いいかもですね。 [まこ]さん、[KI]さん、私はこれでオヤスミナサイ です。 (jun53)
jun53さんどうも有難うございました。(KI)
新しい質問で、今度は行の高さを取得するにはどうすればよいのか、別にスレッド
を上げましたので、ご教授よろしくお願い申し上げます。
みなさま、ありがとうございました。
これは、一つにまとまっているほうが良いと判断しました。 こちらに統合しました。 (kazu)
いつも勉強させて頂いております。
ありがとうございます。
さて、B2セルにそのセルのある2行目の行の高さを取得して数値表示し、高さを
変えると、自動的に値が変わるようにするには、どうすればよいのでしょうか?
列幅とちがって、CELL関数を使うことができません。
ご教授、よろしくお願い申し上げます。
Function takasa(gyou As Range) takasa = Rows(gyou.Row).RowHeight End Function で、いかがでしょうか? ところで、なんにお使いになるのですか?(まこ)
「挿入」「名前」「定義」で
行高さを取得したいセルへ =Height F9で再計算です。 (KAMIYA)
ところで、なんにお使いになるのですか?
こちらに統合しました。 (kazu)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.