
No.1ベストアンサー
- 回答日時:
セルの幅なら、CELL関数で取得できます。
CELL("width", [対象範囲])
高さを求める関数は心当たりがありません。マクロを使えば求められますが。
高さ、幅の単位は、ヘルプに書いてあります。(下記参照)
----------------------------------------------------------------
ワークシートの列幅は、0 (ゼロ) ~ 255 の間で指定できます。この値は、標準フォント (標準フォント : ワークシートの文字に標準で設定されるフォント。標準フォントは、セルの標準スタイルの既定のフォントとして使用されます。)で書式設定されているセルに表示できる文字数を表します。既定の列幅は 8.43 文字です。列幅を 0 に設定すると、列は非表示になります。
行の高さは 0 (ゼロ) ~ 409 の間で指定できます。この値は、ポイント (1 ポイントは約 1/72 インチまたは約 0.035 cm) で表される列の高さを示します。既定の行の高さは 12.75 ポイント (約 1/6 インチまたは約 0.4 cm) です。行の高さを 0 に設定すると、行は非表示になります。
申し訳ありません。回答2に対するお礼の欄に書き込みました。
お礼を1,2入れ替えて書かせてもらいます。
ここには、No.2へのお礼として書かせてもらいます。
コメントありがとうございます。
エクセル関数が1つの値を返すことは承知しています。それで、関数が不適当とはどう言う意味でしょうか?今の場合、セルの範囲を指定するので、答えは一つしか存在しません。普通の簡単な関数で、複数のセル範囲の合計をその範囲とは別のセルに求めることできませんか?
d3=sum(a1:c2)と、できませんか?
例えば、d3=sumh(a1:c2),d3=sumb(a1:c2)
のように、hで高さ、bで幅を区別します。
No.4
- 回答日時:
No.1です。
複数のセルの幅合計を求めるときは、CELL関数で足し算をします。
例)=CELL("width", A1)+CELL("width", B1)
マクロでも幅を求めることはできますが、私が知る限り、セル単位であって、複数セルの合計は求めることはできません。
高さの合計を求めるには、次のユーザー定義関数を使います。
Function takasa(r As Range)
takasa = r.Height
End Function
例)=takasa(A1:A3)
ただし、ユーザー定義関数は、再計算が行われないと結果が反映されません。つまり、高さを変えただけでは結果の数値は変わりません。F9キーを押してもだめで、数式のあるセルでF2キーを押してからEnterキーを押す(セルの編集)必要があります。
再計算イベントの中に、再計算コマンドを記述する(下記コード参照)ことにより、F9キーには対応することができますが、セルの高さを変えると自動で変わるようにする方法は思いつきません。
Private Sub Worksheet_Calculate()
Calculate
End Sub
No.3
- 回答日時:
#2です。
>私の質問はセル範囲と書きました通り、複数セルの
全体の高さと幅を指したつもりでした
だから同じ行のセルの全部の高さや、同じ列のセルの全部の幅を
調べても同じなのだから、列幅は代表で何処かの行、行高は各行のA列の高さを調べれば良いといったまで。
それらの和を出したいなら、順次列幅、行高を各々足していけば仕舞い。
結局簡単なVBAだが、それが出来ないと質問の券は求められないと言うことかな。質問者は、VBAの経験有るのかな。
はい、VBAの経験はありません。ただ順次列幅、行高を各々足すことは理解できます。簡単にできることなら、sumb(範囲)、sunh(範囲)の形で求め、ユーザー定義の関数に加えたいです。
No.2
- 回答日時:
>指定範囲の
と有るので、範囲内の行や列の数は複数だと思います。
そういう場合、エクセル関数では、1つの値しか返さ無いので、関数は不適です。式の複写に持ち込めばできると言うかも知れないが。
しかし、もともと関数はセルの価!しか対象に出来ないことを知らないところから>表示させる式を、と言う表現になっていないか。
表高、列幅はエクセル関数(ユーザー関数ではない)では捉える関数は無い。エクセル関数で左右することも出来ない。
例外がCELL関数のWidthパラメータだが、小数点以下を切り捨てたセルの幅となっていて、あまり使われない。行高には対応するものが無い。
ーー
これらはVBAを使い、ユーザー関数化(1行で済む)すれば、なんていうこと無いので、VBAが判る人には余り意味が無い。
VBAで
各列を捉える方法
各行を捉える方法
などもちょっとしたVBAのテクニックが必要。
VBAを勉強してください。範囲の全セル捉えるのは簡単。
ーーーー
単位については、Googleででも「エクセル 列幅 単位」などで照会したら直ぐ出るよ。
最初に出たのが
http://www.relief.jp/itnote/archives/000343.php
で他にも、多数出る。
コメントありがとうございます。
cell関数では[対象範囲]を指定するようになっていますが、実際は1つのセルだけが対象ではありませんか?私の質問はセル範囲と書きました通り、複数セルの全体の高さと幅を指したつもりでした。もしマクロで可能なら式を作成していただけたらありがたいです。
なお、単位に関しては承知しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) エクセルの関数で質問です。 3 2023/02/24 14:07
- Excel(エクセル) [入力規則]のリストボックス内の“不揃いの林檎たち” 3 2022/09/15 18:32
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/12/26 12:05
- Excel(エクセル) エクセルの数式について教えてください。 2 2023/03/04 09:54
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- その他(Microsoft Office) エクセルのマクロでスライサー教えてください。 1 2022/09/28 16:40
- Excel(エクセル) OFFSET関数を使用した印刷範囲の自動変更について 2 2022/06/02 12:11
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
エクセルのセルに指定画像(.jpg...
-
エクセル 上下で列幅を変えるには
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
Excelのフィルター後の一番上の...
-
[EXCEL]ボタン押す→時刻が表に...
-
excel 小さすぎて見えないセル...
-
結合されたセルをプルダウンの...
-
エクセル 時間の表示形式AM/PM...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
VBAで色の付いているセルの行削除
-
Excel グラフのプロットからデ...
-
エクセルのマクロで意図しない...
-
excel 同じ番号のデーターを横...
-
Excel VBA アクティブセルから...
-
EXCELのVBAで空白列を削除して...
-
サイズの違うセル 並べ変え
-
Excel:いまフォーカスがあるセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
特定の文字がある行以外を削除...
-
エクセルで特定の文字列が入っ...
-
エクセル 上下で列幅を変えるには
-
エクセル マクロで数値が変っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
excel 小さすぎて見えないセル...
-
エクセル マクロ オートフィ...
-
Excel グラフのプロットからデ...
-
Excelのフィルター後の一番上の...
-
結合されたセルをプルダウンの...
-
EXCELで最後の行を固定
-
excelのデータで色つき行の抽出...
-
アクティブになっている行をマ...
-
連続データが入った行の一番右...
-
Excel ウインドウ枠の固定をす...
-
エクセルのセルに指定画像(.jpg...
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
Excelでカタカナ・ひらがな・英...
おすすめ情報