Excel で「ふりがな」なんか扱ったことがなかったんで(何せ、Excel 関係のあんまりややこしい仕事はやったことないし(^^;)、ちょっとハマってしまった。
あるシート上の名簿(ふりがな付)をソートして、その結果で新しい名簿を作成するのだが、ソート用のテンポラリシート(tmpSht)から例えば
.Cells(i, j) = Sheets(tmpSht).Cells(i, j)
みたいに値をセットしちゃうと、ふりがな情報は移らないんじゃね。
それ知らなかったんで、
.Cells(i, j).Phonetics.Visible = True
とかしてやればいいのか?とか、色々試したけど駄目。
.Cells(i, j).SetPhonetic
.Cells(i, j).Phonetics.CharacterType = xlHiragana
.Cells(i, j).Phonetics.Visible = True
なんてやると、新しくふりがなが自動セットされるだけなので意味無し。
せっかく、元の名簿の方で「栗男」を「くりお」って修正しているのに、新しい名簿には「くりおとこ」とか載っちゃって(^^; 怒られるで、ほんま。(^^;
結局、
Sheets(tmpSht).Cells(i, j).Copy .Cells(i, j)
つう具合に、セルを丸ごとコピーしないと駄目なのね・・・
これで、ふりがな情報も消えることなく新しいセルにコピーされる。
ただ、これすると、セルの書式情報(フォントや表示位置などの情報)までコピーされちゃうので、
.Cells(i, j).Font.Name = "MS Pゴシック"
.Cells(i, j).Font.Size = 12
.Cells(i, j).VerticalAlignment = xlCenter
みたいに書式をセットし直してやらんといかんのが面倒くせえ。(^^;
何か、他に良い方法があったら教えてください>識者の方
コメントする