• 締切済み

ExcelVBAで結合セルのある高さ調整

ExcelVBAでの質問です。Aはチェック欄、Bは連番、Cは日付、Dは名前、Eは内容を入力。ExcelVBAで以下のような表で「講義」とい う文字を検索してチェックをつけ、ソートするところまではできました。 A B C    D  E   1 5/1  福島  研修   2 5/1 佐藤  集会   3 5/1 鈴木  セミナー ○ 4 5/1 鈴木  講義   5 5/1 山中  集会 ○ 10 5/4 古河  講義   11 5/4 山田 研修   6 5/2 森川  セミナー   7 5/3 山中  研修   8 5/3 佐藤  集会   9 5/3 佐藤  セミナー 上記のようにチェックがある日付順になっています。元々「各行には点線が、日付ごとには太線が引いてあって区別されてしました。それを私が「セル結合解除、B列連番」をして並び替えたために、元々の日付のセルの大きさは崩れ、罫線は太線も点線もごちゃごちゃになったのです。 で・・・お伺いしたいのが「行の高さ調整」について。「5/1は5行なので60、5/4は2行なので27、5/2は1行なので13.5」と高さは決まったいるのですけど、更に日付ごとに「セル結合」する予定なのです。もっと本当の表は複雑で、私がここでは簡略化しているですが、うまく調整できないのです。この表は上の状態から元の表に近づけるべく「日付ごとのセル結合、罫線、行の高さ調整」をする予定です。 とりあえず一番困っているのは、「セル結合する予定の5/1を5行で60にする」方法です。先に「日付ごとにセル結合」をしたら、行の高さを調整するのがうまくできなかったのです。 わかりにくいのですがよろしくお願いします。初心者初心者していてすみません。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

読んでの疑問点。 >各行には点線が、日付ごとには太線が引いてあって区別されてしました。 「日付ごとに」セル結合もしてあったのではないですか。 >それを私が「セル結合解除、B列連番」をして並び替えたために 「B列連番」とは「A列チェック+B列日付」順に並べたと言うことですね。 >5/1は5行なので60、 13.5×5=67.5ではないのですか。 >行の高さ調整」について >行の高さを調整するのがうまくできなかったのです 結合ごのセルの高さの調節のことでしょう。1行のセルを調整するので無く、同じ行高の行を同日付でセル結合し、 罫線を引きなおしたいと言うことではないですか。 元の各行の行高はG列辺りでは同じ高さではないですか。

quincy
質問者

補足

補足要求ありがとうございます。 #1に書いたとおり、「行の高さは私が適当」に書きました。ありがとうございました。 本物はもっと詳細で内容の濃い物ですが文字数の関係上うまく書けないので、かなり省略した次第です。 わざわざ目を通して頂いたのに、適当なことを書いて失礼しました。お答えは頂きたいのですが、内容があまりにも濃すぎて・・・とてもここでは本物を出せなくて、苦し紛れに書いているもので。お時間を割いて頂いたのにいい加減な物で心苦しく思っています。すみません。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

Excelのバージョンを書かれた方が良いかと思います。 セル結合絡みはバージョンで動きが変わる事があります。 1行で 13.5 、2行で 27 で、なぜ 5行で 60 なのか謎です。 5行で 60 なら 1行を 12 にすれば良いだけに感じますけど、、、 Excel2000だとこれで結合に関係なく行の高さが調整されました。  Rows("1:5").RowHeight = 12 また、結合セル絡みは面倒ですので印刷や見た目だけの問題なら、先頭の日付以外は文字を白くするなどで対応した方が簡単です。 タイトル行無しで、C1:C20 まで日付が入力されているとして、C2:C20を選択し条件付書式で「数式が」「=(C1=C2)」としてフォントを白にするとか、、、

quincy
質問者

お礼

ヒントを元に、いろいろ工夫してみてなんとかなりました。バージョンが違うと変わるかもしれないのですね。いろいろ試してみます。ありがとうございました。

quincy
質問者

補足

そうですよね、文字を白くした方がいいですよね。 でも・・・その前に「行高さ調整」をしなくてはならないようなので。わかりました、明日やっています。 Excelは2000です。家でXPなのですが・・・なかなかやってみても出来なくて困っていました。 すみません、行の高さは適当でした。 ということは・・・必要じゃない線以外は白くするというのがいいみたいですね。気張ってみます。お礼は明日いたします。

関連するQ&A