質問: excelでセルの高さを保ったままソートできないか? excelで作ったシートがあり、行方向のセルの高さが記述量に応じて異なっています。これをソートしたいのですが、セルの内容は入れ替わってもセルの設定した高さは変化しないので最後に手作業でいつも修正しています。ソート時にセルの高さも一緒に動くやり方は無いでしょうか?(vbaで出来ないでしょうか?)
回答: 前提条件 見出し行: 1行目3列(a1~c1) データ行: 2行目以降 キーの列: a列 とした場合、 未使用列(今回は最終列c列の隣、d列使用)に各行の高さを入れておき ソート後、その値で高さを再設定してもいいですね。 '------------------------------------------ sub test() dim r as long dim lastrow as long dim myrange as range application.screenupdating = false lastrow = cells(rows.count, "a").end(xlup).row range("d:d").clearcontents for r = 2 to lastrow cells(r, "d").value = rows(r).rowheight next r set myrange = range("a1", cells(lastrow, "d")) myrange.sort _ key1:=range("a2"), order1:=xlascending, header:=xlyes, _ ordercustom:=1, matchcase:=false, orientation:=xltoptobottom, _ sortmethod:=xlpinyin for r = 2 to lastrow rows(r).rowheight = cells(r, "d").value next r range("d:d").clearcontents application.screenupdating = true end sub '--------------------------------------------