• 締切済み

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にする」方法です。先に「日付ごとにセル結合」をしたら、行の高さを調整するのがうまくできなかったのです。 わかりにくいのですがよろしくお願いします。初心者初心者していてすみません。

  • quincy
  • お礼率90% (121/133)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • セルの結合後、値を代入したいです

    下のような表を作成しています 1行目  2行目・・・日付(yyyy/mm/dd)表示はdd 月ごとに1行目のセルを結合して、〇月と自動で入るようにしたいのですが、VBAで作成できますでしょうか。 2行目の日付は、1日から31日まであるわけではなく、月によって日付の数が違います。 選択した範囲のセルを結合して、下の行の日付から、月を参照して結合したセルにその月を代入することは可能でしょうか。

  • エクセルで結合したセルの高さの自動調整方法?

    エクセル2000、Win2000です。 いくつかのセルを横に結合し、セル内で「折り返して全体を表示する」にしています。 セルを結合してない場合は、入力文字数が多くなっても行の高さを自動調整にすれば、ちゃんと折り返して全部表示されますが、結合したセルの場合は、自動調整がきかず、 いちいち手動で調整しなくてはいけません。 1.結合セルでも自動調整する方法はないですか? 2.ない場合、VBAで行の高さを変えてみようと思いますが、セル内で折り返しているかどうか、および何行に折り返されているかはどう判別すればいいでしょうか?

  • 【エクセル】 結合セルで行の高さを自動調整する方法

    通常、セルに多数の文字を書き込んでも列幅を変更 したくないときには、セルの書式設定で 「折り返して全体を表示する」 としておけば、列幅を広くすることなく、行の高さ が自動調整されます。 これを、結合セルでやろうとするとどうしても 自動調整してくれません。 結合セルでも、行の自動調整機能が働く方法を 教えてください。 よろしくお願いします。

  • 選択範囲のセルを結合して、値を代入

    画像のような工程表を、作成しております。 4行目のセルを結合して、〇月と表示させたいのですが、可能でしょうか。 5行目の日付は、yyyy/mm/dd で入力しており、表示をddとしております。 この画像ですとG4~AA4、AB4~AW4、AX4~BT4を結合して、5行目の日付から月を参照して、結合したセルに表示させたいです。 4行目の結合範囲は、都度変わるので、選択範囲で結合して、5行目の月を参照させたいのですが、可能でしょうか。

  • 結合されたセルの一覧出力 VBA

    お世話になります。 結合されたファイルの一覧を出力したいと思っています。 (できれば、変数に出力したいです) 表があり、ばらばらな範囲で結合されています。 結合した部分には、日付が入っています。 日付が入っている列は、B列とH列で、 その中で「AA」「BB」と入力されている結合セル以外の 結合セル範囲?行?を取得したいと思っております。 B列とH列の結合セル行が同じではありません。 B列は、B5:B13、B18:B25、B30:37 (それ以外のセルは結合してあっても、「AA,BB]と書いてある H列は、H6:H13,H18:H25、H30::H35,H36:H40(上と同じ) ということになっております。 できれば、 1.セル結合範囲を検索(行数取得?) 2.セルの内容が日付かどうか確認 3.日付なら、セル行数を取得 ということがしたいです。 日付の形式は、3/1などのように入っています。 このフォームが結構変わるため、 結合しているセルの中身が日付かどうかを確認し、 日付なら行数取得→色んなプログラムでその行数を使用 したいと思っています。 分かりにくい部分が多いかと思いますが、 回答お願い致します。

  • ワード2007でセルの結合

    ワード2007で表を作成する過程で「セルの結合」を行うとその行の罫線が消えてしまいます。 何故でしょうか。

  • セルの結合と折り返し表示の操作を簡単に

    エクセルで横に並ぶセルを結合して、さらに入力してある文字を折り返し全体を表示する作業をよく使っています。この場合結合するセルを選択して右クリックで、セルの書式設定を選び、1折り返し全体を表示する、2セルを結合するの1と2のそれぞれにチェックを入れOKをクリックしています。またこの場合行の高さを調整することが必要なので行の番号のところでドラッグして調整しています。高さの調整だけはソフトによっては文字の入力済みの場合自動的に調整してくれるものもありますが現在使用中のものはそれが出来ません。この操作を結合するセルを選択した後もっと簡単にショートカットなどを使い操作する方法がないか教えて下さい。

  • Wordの表(セルの結合あり。)に貼り付けると、左右凸凹に貼り付く

    質問自体は、実際に見れば簡単なことなんですが、 言葉で書くので煩わしくなってしまいます。 Wordで作っている文章の中に表があります。 ただし、その表は単純な表ではなくて、 セルの分割や結合が行われています。 表自体は長方形をしていますが、セルの結合によって、行によりセルの数が違います。 詳しく書くと、 表は4列で、 列をエクセルのように假に左からA、B、C、Dとすると、 D列はどの行も結合されていません。 1行目は、A1・B1・C1が結合されている状態。 2行目と3行目は、A2とA3が結合されていて、 B2とC2、B3とC3が結合されている。 4・5・6行目は、A4・A5・A6が結合されていて、 B4・C4が結合、B5・B6が結合。 7行目は、(1行目と同じく)A7・B7・C7が結合。 (多分、表を作るときは分割も使ったと思いますが、 説明が面倒になるので、分割という言葉は使いませんでした。) さて、結合がされていないD列に、 エクセルのある列のデータを貼り付けたいと思います。 貼り付けたいデータをコピーして、 上記のWordの表のD列を選んで貼り付けます。 すると、意図に反して、うまくD列に貼り付きません。 どの行でも、必ず、左から2つめのセルに貼り付いてしまいます。 上記のようにセルの結合が行われているために、 左右に凸凹に貼り付いてしまいます。 例えば、 3列になっている2行目や3行目は、結合されている (左から)2つめのセル(B2・C2、B3・C3)に、 4列になっている5行目や6行目は2つめのセル(B列)に貼り付いてしまいます。 このように、行のセルの数にしたがって凸凹に貼りつくのではなく、 行のセルの数にかかわらず縦一直線に貼り付けたいのですが、 どうすればよいでしょうか。 Wordは2000

  • セル結合???

    一太郎11で表を作った時にワードやエクセルのようにセル結合できないものでしょうか? または複数行(偶数行)の間で縦位置の中央揃えをする方法はないでしょうか? 奇数行の時は真ん中の行にNo.を打つことができるのですが偶数行の時はどちらかに片寄ってしまいます。 何かいい解決方法があったらお願いします。

  • word2010 表と表の結合

    word2010で、別々に作成した表と表を結合したいのですが、表と表の結合部分の罫線が太線になり、また「セルの結合」アイコンが非表示になり選択することができません。 別々に作成した表を結合することはできないのでしょうか? お手数お掛けいたしますが、ご教示いただけると幸いでございます。 よろしくお願いいたします。

専門家に質問してみよう