ご教授ください。
Excel2007以降のバージョンで、結合セル内の行数を取得するには、
どうしたらよいでしょうか?
セルの書式設定で、
・折り返して全体を表示する
・セルを結合する
・横位置を左詰め
・縦位置を上詰め
を設定しているため、改行文字が入っていなくてセル内で
自動改行されている場合も行数をカウントしたいです。
たとえば
新宿(新宿の後に改行文字あり)
渋谷(新宿の後に改行文字あり)
私は品川にい(←改行文字なし)
ます(←セル幅に入らないために自動改行された)
は、4行とカウントしたいです。
ネットで検索したところ、下記の構文があり、改行を数えるみたいなのですが、
LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))+1
var
sRange : String;
・・・省略
sRange := GetStrRange(1, 39, 1, 39);
(Length(sRange)-Length(StringReplace(sRange,CHAR(10),'', [rfReplaceAll]))+1));
としてみましたが、正しい行数を取得できませんでした。
SUBSTITUTEをStringReplaceとしたところが間違っているのでしょうか・・・
素人で申し訳ありません。
ご教授お願いします。
DelphiXEのWindows7、32bitで開発しています。
自分の環境はExcel2007ですが、2010、2012でも動くようにしたいです。
よろしくお願いします。
ツイート | ![]() |