• 締切済み

エクセル マクロ 列幅は固定、行高さのみ可変+余白

こんにちは。 列幅は固定にしたいが、行高さは入力内容に従って「全体を折り返して表示」し且つ上下に少し余白を設けたいと思っています。 「全体を折り返して表示」にしても、フィルター操作などでいじっている内に行高さが不足してちゃんと全体を表示しなくなってしまいます。 そこで、ネットを探していたら列幅と行高さを共にフィットさせてかつ余白を設けるマクロは見つけたのですが、列幅が動いては困るのです。 列幅に関わるのであろう箇所を削除して使用するとどうにも不安定というか、ちゃんとできる事もあればできない事もあり。。。 コードは変えてないのに。。。 列幅は固定しつつ、行高さのみ可変+余白にするコードを教えて頂けますでしょうか。 よろしくお願いします。 EXCEL2010 Windows7

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

簡易版: sub macro1()  dim h as range  cells.wraptext = true  cells.verticalalignment = xlcenter  rows.autofit  for each h in activesheet.usedrange.columns(1).cells   h.rowheight = h.height + 8  next end sub >フィルター操作などでいじっている内に行高さが不足してちゃんと全体を表示しなくなってしまいます 通常、例えばオートフィルタを操作して行高さが変わることはありません。 あなたが「フィルター操作」で具体的に一体何をしているのかは不明なので、その意味で上記のサンプルはあくまでも簡易版です。具体的に何をしたら(たとえば「並べ替えを行った」など)困りごとが起こるのか、もうちょっと具体的な状況を添えて別途のご相談で問題を解決してください。

urbanite
質問者

お礼

ご回答ありがとうございます。 お礼が遅れて申し訳ありません。 当のツールがどうにもならないエラーが出てしまい(昨日は生きているのですが)、エラーがうるさいので消す方法も解らず、新しく1から作る事になり頭がいっぱいになってしまっていました。 どーっと通して作っていたので、お教え頂いたコードでできたかどうか今は解らないのですが、とにかく今は列固定の高さfitができています。 ありがとうございます!

関連するQ&A

  • Excelの列幅・行高・余白のサイズについて

    ある帳票があって、複数の項目(列)と行があります。Excelでその帳票と同じ列幅の項目と行高のフォーマットを作り、印刷をするときはその帳票にしたいと思っています。その場合、帳票の列幅(単位cmまたはmm)はExcelの列幅と行高に置き換える場合、何か目安になるものはあるのでしょうか。またExcelのそれらの数字の単位は何なんでしょうか。 また、印刷するときの余白の数字の単位は何でしょうか。mmかなと思いますが、ピッタリではないように思います。上下・左右の余白を「0」に設定しても、少し余白があります。「0」に設定したときにある余白のサイズはどのくらいなのでしょうか。 よろしくお願いいたします。

  • Excelの余白は固定できない?

    Excel2000です。 印刷プレビューの余白が常に上下2.5、左右2、ヘッダー1.3で表示されます。水平垂直はチェックマークが付いていません。 すべて0.5に設定しても印刷は正常におこなえます。常時0.5で固定しておきたいのですが、 「新規作成」するたびに設定が元に戻ってしまいます。Excelは余白設定を固定できないのでしょうか? 「プリンタの余白を自動取得」という設定がどこかにあったような気がするのですが、これのせいでしょうか? 自動取得しなければ任意の数値で余白を固定できますか?

  • EXCELでデータの更新した後の列幅を固定したい

    EXCELからデータの更新(!マークで実行するやつ)で、ACCESSのクエリーの結果をEXCELに取り込んでいるのですが、 EXCELの列の横幅を狭くしておいて、"縮小して全体を表示する"にしてあるのですが、データを更新すると列幅が、 ACCESSで定義してあるフィールドサイズに広がってしまいます。 (テキスト型でフィールドサイズ50だと、MSゴシックで全角25文字ぐらいの列幅に) データの更新時に、列幅が自動で広がらないようにする事って出来るのでしょうか? (マクロで全部の列の列幅を定義しておいて、データの更新後にマクロ実行して列幅を戻すのは出来ると思いますが、  マクロで後で調整しなくても方法ってあるのでしょうか?) EXCELは2003で、ACCESSは97を使っています

  • セル配置で「折り返して全体を表示」が無効になる&列幅を固定させたい

    こんにちは。いつもお世話になっております。 今回の質問はまさに標題通りなのですが、現在、私が設定しているのは下記の方法です。 ◆セルの書式設定で「配置」タブ内にある「文字の制御」の「折り返して全体を表示する」にチェックが付いている状態。 ◆しかし、画面や印刷で確認してみると折り返し指示をしているにも関わらず、ちょっと長い一文は全部読む事ができず、入力しているデーターが途中で切れている。 そこでこのようにすればこの現象は解決するだろうと考えております。 ●列の幅を固定させ、そのセル内の文末文字位置が揃うような箇所で「Altキー」+「エンターキー」で、どんどん改行・入力していく。 この方法が一番ベストかと思っているのですが、これを行った場合、列幅が動いてしまう(現状より広くなってしまう)と改行した意味が無く、見た目の綺麗さが失われてしまいます。 そこで列幅を固定させたいのですが、エクセルでこの設定は可能なのでしょうか。 こんな方法を用いれば列幅の固定は可能だよ、という事をご存知 の方、いらっしゃいましたらどうぞご教授の程、お願い致します。

  • エクセルのセルサイズ

    セルの「列幅、行高」のサイズ表示をmm表示にする事は出来ないのでしょうか。又、表示数が同じでも用紙サイズが変わると「文字サイズ、列幅、行高」が、プリントした場合に変わるのは仕方ない事なんでしょうか。

  • VBAで折り返し表示と行高さの設定 

    環境:Excel2002です あるプロシージャーで求めた値をセルに表示する時、折り返し表示と行高さの設定を自動化したいのです。 求めた値(例) r="(1)~(3),(6),(8)~(11),(15)~(20),(23),(28)~(33),(35)~(38),(40),(42)~(48)" rを入力するセル Range("I14:T14") Range("I14:T14")は結合されていて列幅は 7*11=77 … 列幅は7*11=77で固定 行高さは24.75 求めた値 r は可変です 求めた値rの文字数が少なければ行高さ24.75 1行に問題なく表示されますが 文字数が多い場合は折り返し表示と行高さの設定をする必要があります これを自動化する方法をご教示願います 入力される文字は MS Pゴシック 文字サイズ14 です 自動化する手順は以下だと思うのですが (1)求めた値の文字数を求める 半角、全角が混在なのでLENBで求めるのでしょうか? (2)入力するRange("I14:T14")の入力可能文字数(1行あたり)を求める (3) (1)を(2)で割って行14の表示必要行数を求め、行高さを決定する (4) rを折り返して表示する 贅沢な望みですが、この『VBAで折り返し表示と行高さの設定』は他のブックでも使用することになるので、表示するセルの列幅及び行高さは可変に対応できるようにしていただきたい 折り返して表示した時に【(1)~(3),(6),(8)~(11),(15)~(20),(23),(28)~(33】のように折り返して表示したら )が切れた状態で表示されるのを回避できるのでしょうか? 【(1)~(3),(6),(8)~(11),(15)~(20),(23),(28)~】 よろしくお願いします

  • エクセルで作った表の(行幅や列幅)を優先して固定する方法は?

    エクセルで、文字入力する一覧表を作りました。 1ブック内で4sheetに分けていますが、それぞれのsheetに、行の移動を簡単にする意味で、行の幅や列幅を全て同じにしてあります。 本当は、この行幅や列幅が動かないようにしたいのですが、何処を探しても方法が分からなかったので、上記のようにしました。 処が色々な人が触るので、直ぐに幅や高さが動いてしまい、移動がすんなりとは出来ない状態になります。移動方法は色々あるのは知っていますが、基本的に行や列サイズを変えてはいけないデーターなんです。で、その都度、4sheetのサイズを計り、手直し後に移動の始末です。 この表を固定する方法は無いでしょうか? 文字入力よりも、最優先は、表全体の列・行サイズ保持です。4sheet共に表を基本のサイズに印刷する必要があるのです。 どなたか分かる方、教えて下さい。(1sheetに纏めると、サイズのズレに気付かずに印刷する恐れがあるので分けてます)

  • エクセルのマクロで計算結果を表示させたい

    マクロ初心者です。 持っている本ではデータの絞込みの表示のマクロしか載っていなかったので困っています。 材料を変えた箱の重さを表示させたいです。 イメージでは 「高さ、幅、奥行(手入力、可変します)  3つの材料をオプションボタンで選択  (材料の単位あたりの重さはエクセル表内に入力)  (エクセル表内で計算させて)  重さを表示」 というフォームを考えています。 普通にエクセル表にすると3つの材料による重さがすべて表示されてしまいますし 今後 箱の支柱を同じように材料を選択させてその重さも表示させたいので オートフィルタでは支柱の材料の選択ができなくなって しまうのでマクロを使えばできるのかと思いました。 また、マクロ計算式を使うものでの初心者向け参考書でお勧めのものがあったら教えてください。 よろしくお願いします。

  •  エクセルマクロでこれを簡単に出来ますか?

     部材関係の仕事に携わっている者ですが、日々変る納品リストの整理が長引き、もっと簡単にしたいと思いますが、次のことをエクセルマクロで瞬時にできるのでしょうか?私はエクセル初心者な者で詳しいことが分かりません。  1.エクセルワークシートが15部の構成のブック  2.その内、自分が必要とするのが5部のシート  3.その各シートには2005.6.○○と日付が付与され   ている  4.その5部のワークシートに記載されている部材うち、自分に関係する物だけをフィルタオプションを使って抽出、抜き出している。  5.フィルタオプションの抽出条件は別ファイルを開き、コピー、貼付けして検索している。  6.各シート検索後、抽出データーを1枚のシートにまとめるために統合機能を使い、1つのリストにしている。  7.日付により、項目が増減、変動するので多くなると1ページに印刷すると、文字が小さくなるので、目一杯縦横の余白を最小にして印刷している。  以上のような流れなのですが、元になるワークシートのシート名に日付が付与されているせいか、マクロを記録してもエラーが出ます。やはり単純なマクロの記録では1~7の操作実行は無理なのでしょうか?  手順はいつもと同じなのですが、シート日付名をそのまま記録してしまうからでしょうか?  現状1~5までの操作を各シート毎に繰り返しているので非常に時間が係ります。VBAじゃないと無理なのでしょうか?個人用マクロに保存しています。アドバイスお願いします。

  • excelマクロ開発画面が壊れた

    お世話になります。 環境はWindows98SE、office97です。 どうやって今の状態になったのかが説明できないのですが、 excelを立ち上げ、ツール/マクロ/マクロを選択/編集 とやって出てくる画面ですが、 昔(壊れる前)は左にエクスプローラ風画面、その右にマクロのコード、 が繋がって綺麗に表示されていました。 現在は出てはいるのですが、それぞれが独立で表示されています。 よって、例えばコードの画面を右上の四角(拡大)にすると 画面全体に広がりエクスプローラ風画面が隠れてしまいます。 (エクスプローラー風画面についても然りです。) どうか元に戻す方法を教えてください。 宜しくお願いします。

専門家に質問してみよう