Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

Excelの罫線と行の挿入

Excelの行の挿入についてお伺いします。 10行ごとに罫線を引いているのですが、行を挿入すると、罫線ごと移動してしまい、せっかく10行ごとに引いた罫線がずれてしまいます。 これを10行ごとの罫線は変えず、行だけを挿入したいのですが、どうすればいいのでしょうか? また、表作成において、改善案や便利なことなどもあるようでしたら教えてください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.7

こんばんわ。早速サンプルマクロを作ってみました。次のように操作してみて下さい。 1.新規ブックを開き、ALT+F11を押してVBE(Visual Basic Editor)の画面を開く。 2.左上のVBAProjectと書いてある画面の下にあるSheet1にカーソルをあわせ、ダブルクリックする。(右側が白い画面に変わる) 3.その白い画面に、下のコードをコピー・ペーストする。 Private Sub Worksheet_Change(ByVal Target As Range) Dim myRow As Long Dim myCnt As Integer Dim i As Integer myRow = Cells(Rows.Count, 1).End(xlUp).Row myCnt = Cells(myRow, Columns.Count).End(xlToLeft).Column Range(Cells(1, 1), Cells(myRow, myCnt)).Borders(xlEdgeBottom).LineStyle = xlNone Range(Cells(1, 1), Cells(myRow, myCnt)).Borders(xlInsideHorizontal).LineStyle = xlNone For i = 10 To myRow Step 10 Range(Cells(i, 1), Cells(i, myCnt)).Borders(xlEdgeBottom).LineStyle = xlContinuous Range(Cells(i, 1), Cells(i, myCnt)).Borders(xlEdgeBottom).Weight = xlThick Next i End Sub 4.ALT+F11を押し、SHeet1の画面に切り替える。 5.適当にデーターを入力した後、挿入・削除をやってみる。 そのつど10行ごとに罫線が引かれます。

noname#192965
質問者

お礼

参考になります。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (6)

  • comv
  • ベストアンサー率52% (322/612)
回答No.6

説明を間違えました 当初の =MOD(ROW(),10)=1 が11 21 31 と1行目のタイトル行を除いて 10行おきの式ですね これをB1から設定すると1行目の下辺も罫線が引かれ ます (タイトル行なら引かれても問題ないとは思いますが) タイトル行無しの10行おきなら =MOD(ROW(B1),10)=0 でOKです 相対参照セルを入れる時のは、特性の行位置でなく 例えばシート範囲の10数行下から表が始まる場合 行値を気にせず10行おきに引くためにその選び初め セルに =MOD(ROW(B1),10)=0 とすれば10行おき となるものです。 紛らわしい説明でスミマセンでした!  

noname#192965
質問者

お礼

ご丁寧にありがとうございました。

すると、全ての回答が全文表示されます。
  • comv
  • ベストアンサー率52% (322/612)
回答No.5

再び こんばんは >なぜB2からにしないといけないのでしょうか? あ これは現在の式では気にされなくて結構です。 実は、1行目がタイトル行で以降10行単位で罫線 などの場合があるのかなと思いましてその時の式 B2から選択した場合  =MOD(ROW(B1),10)=1 とROW()関数の中に 相対参照のセル指定をする関係から記載したものです。 要は範囲選択した場合、選択範囲で反転していないセル (アクティブ)に対して相対参照式をいれる説明をする 必要があるためです(希に下行から上に範囲選択される 方がいるため) >また、例えば、この表を利用するにつれて利用範囲が >増えてき、初期範囲を超えた場合はどう対処すれば >いいのでしょうか? 条件付き書式は書式なのでコピー可能です。 設定範囲で空白行があれはそのまま複写 入力がある場合は複写してからデータを消すか書式のみ の貼り付けでよろしいかと思います。 また、当初の式で 設定範囲内であれば必要行挿入すれば そのまま複写されます。

noname#192965
質問者

お礼

ご丁寧にありがとうございました。

すると、全ての回答が全文表示されます。
回答No.4

はじめまして。 VBAでマクロを組めば、あなた様のやりたいことは簡単に実現できると思います。 もし私でよろしければ、サンプルマクロを作ってみたいと思いますので、ご希望の節はお知らせ下さい。

noname#192965
質問者

補足

ご回答ありがとうございます。 ぜひとも教えていただきたいと思います。 VBAはそれほど詳しくはないのでわからないこともでてきますが、参考にさせていただきたいと思います。 ご面倒だとは思いますが、よろしくお願いします。

すると、全ての回答が全文表示されます。
  • comv
  • ベストアンサー率52% (322/612)
回答No.3

こんばんは 例えば 初期範囲がB2:E100 として ・初期状態では横罫線無し ・その範囲を選択(必ずB2から) ・書式設定 条件付き書式 数式が▼  数式欄 =MOD(ROW(),10)=1  書式ボタン 罫線タブ 下辺のみ 罫線を設定 で如何でしょうか!

noname#192965
質問者

補足

ご回答ありがとうございます。 試してみましたが、確かに選択した範囲では罫線がずれずにできました。貴重でした。 なぜB2からにしないといけないのでしょうか? また、例えば、この表を利用するにつれて利用範囲が増えてき、初期範囲を超えた場合はどう対処すればいいのでしょうか?が

すると、全ての回答が全文表示されます。
  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.2

いわれるままのことは無理ですね。 罫線を引いたシートとは別なシートに入力しておいて、 それをコピーし、罫線を引いたシートで値を貼り付け ではだめですか。

noname#192965
質問者

お礼

ありがとうございました。

すると、全ての回答が全文表示されます。
  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

そいつはExcelの仕様ということで、無理かもしれません。 どうしてもとおっしゃるのなら、数十行分の罫線を含む書式を別のシートに作っておき、作業しているシートに行を挿入するたびに別シートの書式のみを作業シートにコピーすることでなんとかなります。こいつをマクロの記録などを使って1クリックで出来るようにしておくと、後々ラクではないかと思います。

noname#192965
質問者

お礼

ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A