Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


27236 / 76732 ←次へ | 前へ→

【54819】Re:結合セルの行の高さ
発言  n  - 08/3/31(月) 15:35 -

引用なし
パスワード
   こんにちは。
結合セル範囲が限定されている場合は、比較的簡単なのですが...

例えば、A1:C10の範囲で、1行×3列の3セルずつ結合している場合、
Sub try()
  Dim n As Single
  Dim x As Single
  Dim i As Long
  
  ActiveSheet.DisplayAutomaticPageBreaks = False
  With Range("A1:C10")
    n = .Item(1).ColumnWidth
    x = n
    For i = 2 To 3
      x = x + .Item(i).ColumnWidth
    Next i
    .UnMerge
    .Item(1).ColumnWidth = x
    .EntireRow.AutoFit
    .Merge across:=True
    .Item(1).ColumnWidth = n
  End With
End Sub

こんな感じになります。

考え方としては、
1)A1セル幅を変数 n に記憶。
2)結合範囲であるA1:C1までの幅をそれぞれ足していき変数 x に記憶。
3)いったん、結合解除。
4)A1セル幅を記憶しておいた x まで広げる。(結合セル幅にする)
5)AutoFit。
6)再び横方向結合。
7)A1セル幅を記憶しておいた n に戻す。

結合セル範囲が複雑に混在している場合、工夫すればできそうですが、
面倒そうなので、あまり考えたくないです。
0 hits

【54816】結合セルの行の高さ りった 08/3/31(月) 14:11 質問
【54819】Re:結合セルの行の高さ n 08/3/31(月) 15:35 発言
【54820】Re:結合セルの行の高さ VBWASURETA 08/3/31(月) 16:11 発言
【54821】Re:結合セルの行の高さ りった 08/3/31(月) 17:24 お礼
【54822】Re:結合セルの行の高さ n 08/3/31(月) 18:05 発言
【54824】Re:結合セルの行の高さ りった 08/3/31(月) 18:30 お礼

27236 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free