• 締切済み

リストへの行の挿入

リストの見出しの直下に行を挿入したいのですが、 ThisWorkbook.Worksheets("Sheet1").ListObjects(1).ListRows.Add (1) 挿入した行が見出しの書式になってしまします。 2行目以降だと、うまくいくのですが・・・ なにか良い方法はありませんでしょうか? よろしくお願い致します。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。#1 のWendy02です。 >もう少し簡単な方法は無いかなと思い質問させていただきました。 >回答いただいた方法ですと、データ部の個々のセルに設定してある書式は反映されないみたいです。 ヘッダーの太字が反映されているのを戻すということではないでしょうか?それ以外の書式があるなら、最初に、それを書いてください。コードに問題があると思うなら、コードを提示してください。回答を間違えさせるような質問は控えてください。 単に、ListObjects の中に、問題を解決するようなプロパティはないと思います。書式の補完が必要なら、それをすれば事足りる話ではないでしょうか?もしも、今、それ以上に、問題がなく、コードにエラーがないものでしたら、一応、そのままにして良いとのではありませんか?それがあるなしで、数千分の一秒の違いぐらいしかないはずです。 下の書式をコピーするなら、単に、こんな風にしてもよいでしょう。  .Range.Rows(3).AutoFill Destination:=.Range.Rows("2:3"), Type:=xlFillFormats それとも、リストの中で、別々の書式をしているということでしょうか?もし、そうなら、サブルーチンで、全体の書式設定をしなおすようにすればよいのではありませんか? VBAに簡単な方法というものは、基本的にはありません。それは、手順が面倒だから、マクロにしているのに、それ自体を簡単にしたいというのは、出来る相談とそうでないものがあります。コードの美観という人もいますが、それは別問題です。 特に、現在、困った問題ではないのでしたら、そうした問題は、ご自身の中で考えてください。よろしくお願いします。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 単に、フォントのBold を戻せばよいのではありませんか? With Worksheets("Sheet1").ListObjects(1).ListRows.Add(1)  .Range.Font.Bold = False  .Range.Value = 1 '代入値  End With

PanasonicDVD
質問者

お礼

回答いただいた方法ですと、データ部の個々のセルに設定してある書式は反映されないみたいです。 現状は、行を挿入したあと、以降のデータ部から書式だけコピーして貼り付けているんですが、もう少し簡単な方法は無いかなと思い質問させていただきました。 回答ありがとうございました。

関連するQ&A