エクセルのテーブル機能を使って毎日何行か追加していく表を作っています。
一番左の列に日付を入れているのですが、見やすくするために日付が変わる行と行の間に太い線を入れて区切りを付けたいと思っています。
今は同じ日付の最後の行に毎日セルの書式設定の罫線の下太罫線をいれているのですが、この方法ですとフィルター機能で表示する行を制限した時に罫線を入れている行も非表示になってしまうと一緒に消えてしまいます。
何か一番左の列の日付が変わる行のところに区切り線を入れる方法があれば教えてください。
使っているエクセルのバージョンは2010です。
No.8ベストアンサー
- 回答日時:
No.1・7です。
>その方が見やすいのですが・・・
実は当方も投稿後そう思っていました。
余計なお世話ですべてのセルに格子罫線にしていたので確かに、下太罫線が判りにくかったですね。
実は前回のコードをほんの少しだけ変えるだけです。
>Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
の行を
>Range("A1").CurrentRegion.Borders.LineStyle = xlNone
に変更してみてください。
※ 範囲内の罫線は下太罫線だけとします。m(_ _)m
教えてもらったように変更して最初に思っていた通りの表になりました。
どうもありがとうございました、これで毎日の表のチェックが楽になります。
便利そうなのでマクロにもちょっと興味が出ましたが、私の生活だとエクセルを
使う場面自体が少ないのでそのために長い勉強時間を使うのはやはり難しいので、
ここで質問してtom04さんに教えてもらわないとこんなにうまく行かなかったと思います。
質問をした時は簡単な事で、自分がその方法を知らないだけかと思っていたのですが
意外と難し要求だったようで色々教えてもらった皆さんに改めて御礼を言わせてもらいます
どうもありがとうございました
No.7
- 回答日時:
No.1です。
まだ解決していないようなので・・・
>マクロは難しくてちゃんと使えるようになるのはちょっと自分には無理かなと思いました。
とありますが、一般操作では難しいようなので
今回もお望みでないVBAです。
ただし、一度設定しておくと何もご自身でマクロの操作をしなくても
フィルタ操作を行うだけで下太罫線を表示する方法にしてみました。
前提条件として、1行目は項目行でデータは2行目以降にあるとします。
どこか使っていない遠く離れた列の2行目以降(1行目は避けてください)に
=SUBTOTAL(9,B:B)
という数式を入れておいてください。
(数式そのものは意味はないのですが、フィルタ時にChangeイベントを発生させるためです)
そして画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
フィルタの操作をしてみてください。
Private Sub Worksheet_Calculate() 'この行から//
Dim i As Long, k As Long, lastCol As Long
Application.ScreenUpdating = False
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row + 1
If Cells(i, "A") <> Cells(i + 1, "A") Then
Cells(i, "A").Resize(, lastCol).Borders(xlEdgeBottom).Weight = xlMedium
End If
If Rows(i).Hidden = True Then
k = i
Do
k = k + 1
If Rows(k).Hidden = False Then Exit Do
Loop
If Cells(k, "A") <> Cells(i, "A") Then
Cells(i - 1, "A").Resize(, lastCol).Borders(xlEdgeBottom).Weight = xlMedium
End If
End If
Next i
Application.ScreenUpdating = True
End Sub 'この行まで//
※ 1行目で最終列を取得していますので、前述の関数は1行目に入れないようにするためです。
※ とりあえず各セルの枠線は「格子」になるようにしています。
尚、ファイル保存時は「ファイルの種類」で「マクロ有効ブック」として
名前を付けて保存してください。m(_ _)m
前回は自分で出来る様にもなろうともせずに新しいマクロを作ってもらう
というのも厚かましいかと思い遠慮したのですが今回作ってもらったマクロは
完璧に私の思った通りの動作をしました、ありがとうございます
もし良ければ日付が変わるところの横太線だけを表示させる(縦と横の細い線を表示させない)マクロもお願いしてもいいでしょうか
その方が見やすいのですが、自分だとマクロの何処の部分を削ったらいいかすら
全くわからないので
No.5
- 回答日時:
> 昨日のような例で言いますとA1~A10が6月21日、A11~A15が6月22日の時10行目と11行目がオートフィルターで隠れてしまうと6月21日と6月22日の間に罫線がない状態になってしまいました。
> オートフィルターで罫線を使うのは難しいみたいですが、また何かありましたらよろしくお願いします。
たしかに前後のセルが両方フィルターで非表示になると罫線も見えませんね。
おっしゃるとおりオートフィルタで罫線を使うのは限界があるようです。
お役にたてずすみません!
いえ、何度も親切にありがとうございました。
今回のことには直接関係ないですが、教えてもらったことは便利そうなので
これからエクセルを使う時に活かしていきたいと思います。
No.4
- 回答日時:
> 例えばA1~A10が6月21日、A11~A15が6月22日だとすると、教えてもらった方法で
> 10行目に罫線を入れることができたのですが、オートフィルターで10行目が消えた時には9行目に
> 新たに罫線が引かれないので6月21日と6月22日の間に罫線がない状態になってしまいました。
たしかにおっしゃるとおり消えてしまいますね。
これは失礼いたしました!
条件付き書式に次のルールを追加すれば大丈夫だと思います。
最初にお伝えしたのは「下のセルと日付が違う時に下の罫線を表示する」という条件でした。
さらにもう1つ「上のセルと比較して日付が違う時に上の罫線を表示する」という条件を追加します。
条件の数式はこうなります。
「=OFFSET($A2,-1,0)<>$A2」
OFFSET関数を使って1つ上のセルを指定します。
一応わたしのほうでテストしてみて大丈夫そうだったので試してみてください~。
今日もありがとうございます、私も昨日教えてもらった時に試してみて「=$A1 <>$A2」で日付の変更の下のセルを指定できるなと上の罫線を引いてみたりもしたのですがやはりダメで、
今回教えてもらった「=OFFSET($A2,-1,0)<>$A2」でも昨日と同じように罫線を引いた行がオートフィルターで隠れてしまった場合罫線も一緒に消えてしまいました。
昨日のような例で言いますとA1~A10が6月21日、A11~A15が6月22日の時10行目と11行目がオートフィルターで隠れてしまうと6月21日と6月22日の間に罫線がない状態になってしまいました。
オートフィルターで罫線を使うのは難しいみたいですが、また何かありましたらよろしくお願いします。
No.3
- 回答日時:
条件付き書式設定を使えば日付が変わるごとに罫線を入れられますよ。
ただ罫線の太さは選べないので、該当する行だけ下の罫線を入れるか、罫線の色を変えれば同じような感じになります。
もちろんフィルター機能を使っても罫線は消えることなく表示されます。
まず、表全体を選択し [ホーム]タブの[条件付き書式設定]をクリック。
[条件付き書式設定]の[新しい書式ルール]をクリック。
一番下の[数式を使用して書式設定するセルを決定]をクリックします。
[次の数式を満たす場合に値を書式設定]の欄の中に数式を入力します。
たとえば日付がA列でA2のセルから入力されている場合、上のセルと下のセルの日付が違うという条件なので次の数式を入力。
「=$A2 <>$A3」
[書式]をクリックし[セルの書式設定]の[罫線]で下の罫線を指定し「OK」をクリックします。
もしここでたとえば赤の罫線を指定すれば、赤い罫線をつけることができます。
ありがとうございます、罫線の太さは重要じゃないので教えてもらった方法を
試したらフィルター機能を使う前は望んだ位置に罫線を引くことができたのですが、
フィルターで罫線の入った行を非表示にしてしまうと罫線も一緒に消えてしまいました。
例えばA1~A10が6月21日、A11~A15が6月22日だとすると、教えてもらった方法で
10行目に罫線を入れることができたのですが、オートフィルターで10行目が消えた時には9行目に
新たに罫線が引かれないので6月21日と6月22日の間に罫線がない状態になってしまいました。
もし何か解決法があればまたよろしくお願いします。
No.2
- 回答日時:
オートフィルターではなく
フィルターオプションを使って
別のシート或いは、右の方の列に
データを抽出する方法ではダメでしょうか。
http://www.eurus.dti.ne.jp/yoneyama/Excel/filter …
に詳しく説明されてます。
こちらの方法で抽出されたデータに条件付き書式で
左列の日付が変わったら下罫線を入れると云う
条件付き書式の設定が可能です。
条件付き書式で色々出来るのですね、今回の表はオートフィルターを使って
見る時に表示項目を色々切り替えて見たいのでデータを抽出する方法は
向いてませんがまた別の表にまとめ直す時に参考にさせてもらいます。
どうもありがとうございました。
No.1
- 回答日時:
こんばんは!
>フィルター機能で表示する行を制限した時に罫線を入れている行も非表示になってしまうと一緒に消えてしまいます。
フィルタを掛け、表示されている行で日付が異なればその境に下太罫線を表示させたい!
という解釈です。
VBAになってしまいますが、一例です。
尚、1行目が項目行でデータは2行目以降にあるとします。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub 罫線() 'この行から//
Dim i As Long, lastCol As Long
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column
Application.ScreenUpdating = False
Range("A1").CurrentRegion.Borders.LineStyle = xlContinuous
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
If Cells(i, "A") <> Cells(i + 1, "A") Then
Cells(i, "A").Resize(, lastCol).Borders(xlEdgeBottom).Weight = xlMedium
End If
If Rows(i).Hidden = False And Rows(i + 1).Hidden = True Then
Cells(i, "A").Resize(, lastCol).Borders(xlEdgeBottom).Weight = xlMedium
End If
Next i
Application.ScreenUpdating = True
End Sub 'この行まで//
※ フィルタ解除後もマクロを実行してください。
同じ日付の行も下太罫線になっている行があると思いますので・・・m(_ _)m
こんばんは、丁寧な回答ありがとうございます。
試めさせてもらったところ日付変更以外のフィルターで隠れた行がある所にも区切りの太下線が付いてしまって上手く行かなく、マクロは難しくてちゃんと使えるようになるのはちょっと自分には無理かなと思いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
条件付き書式で太罫線を引く方法
Excel(エクセル)
-
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
条件付き書式で曜日の「月」ならその左の罫線を太くしたい(下の行も摘要)
Excel(エクセル)
-
-
4
エクセルにて一定の条件の際に罫線を引く
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの条件付き書式設定の太い...
-
Excelの外枠太罫線を2~3倍さ...
-
excel2003 罫線だけを保護したい
-
パワーポイントで、表の一部を...
-
エクセル
-
エクセルで文字を入力すると罫...
-
EXCELで、下線の太さを変...
-
エクセルのアンダーラインについて
-
罫線の色を薄くしたい
-
エクセルで罫線も一緒に並び替...
-
Excelでアンダーラインに文字が...
-
決まった罫線のなかで、文章入...
-
OpenOfficeのCalcで罫線の削除...
-
条件付き書式で自動で斜線の罫...
-
勝手に背景に色が付いて困っ...
-
罫線が引かれているセルの個数...
-
罫線の色をまとめて変更する
-
WordやExcelで作ってた帳票をAc...
-
【エクセル】謎の枠線の消し方
-
エクセル 入力されていない線...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの条件付き書式設定の太い...
-
Excelの外枠太罫線を2~3倍さ...
-
excel2003 罫線だけを保護したい
-
罫線の色を薄くしたい
-
EXCELで、下線の太さを変...
-
エクセルで罫線も一緒に並び替...
-
【エクセル】謎の枠線の消し方
-
エクセルで文字を入力すると罫...
-
パワーポイントで、表の一部を...
-
エクセルのアンダーラインについて
-
エクセル
-
エクセル 入力されていない線...
-
罫線が引かれているセルの個数...
-
決まった罫線のなかで、文章入...
-
EXCELのオートフィルタで罫線が...
-
エクセル の縦線
-
エクセル表の罫線(縦)が消せ...
-
条件付き書式で自動で斜線の罫...
-
エクセルExcel 「/」セルの斜...
-
Excelでアンダーラインに文字が...
おすすめ情報