>>348
そんなことするなら素直に
>セルごとに隣接判定をして罫線を描く/描かないの処理
を実装すればいいんじゃねえかと
Sub test()
Dim r As Range
Dim r2 As Range
Set r2 = Selection
For Each r In Selection
If Not isSelect(r, xlEdgeTop) Then r.Borders(xlEdgeTop).LineStyle = xlContinuous
If Not isSelect(r, xlEdgeBottom) Then r.Borders(xlEdgeBottom).LineStyle = xlContinuous
If Not isSelect(r, xlEdgeLeft) Then r.Borders(xlEdgeLeft).LineStyle = xlContinuous
If Not isSelect(r, xlEdgeRight) Then r.Borders(xlEdgeRight).LineStyle = xlContinuous
Next
End Sub
Function isSelect(testRange As Range, index As XlBordersIndex) As Boolean
On Error Resume Next
Dim r As Range
For Each r In Selection
Select Case index
Case xlEdgeTop
If r.Address = testRange.Offset(-1, 0).Address Then isSelect = True
Case xlEdgeBottom
If r.Address = testRange.Offset(1, 0).Address Then isSelect = True
Case xlEdgeLeft
If r.Address = testRange.Offset(0, -1).Address Then isSelect = True
Case xlEdgeRight
If r.Address = testRange.Offset(0, 1).Address Then isSelect = True
End Select
Next
End Function
こんな感じか。行数制限あるからやってるけど、1行If は推奨しないぞ
Excel VBA 質問スレ Part80
■ このスレッドは過去ログ倉庫に格納されています
350デフォルトの名無しさん
2024/01/11(木) 21:32:22.23ID:jLVdVVn1■ このスレッドは過去ログ倉庫に格納されています
ニュース
- EUのEV優遇制度案、日本車を除外 独仏が合意 [少考さん★]
- 【野球】セ・リーグCS第3戦 T 0-4 DB [10/16] DeNA3連勝日本シリーズ王手 佐野3ラン、片山7回無失点 阪神3試合連続完封負け ★2 [鉄チーズ烏★]
- 【お詫び】NTTドコモ、緊急地震速報が配信されなかった事象について 「システム不具合」 [おっさん友の会★]
- 【速報】首相、夜はスマホ最大音量で横に 「危機管理に注力」とアピール [少考さん★]
- 【竹中平蔵】「金銭解雇ルールを作れ」 「全然仕事できないのにクビにできない」正社員に持論 ★4 [煮卵★]
- 【芸能】女優・山口智子の近影にファンざわつく 「だ誰?って…」「顔が別人」 [冬月記者★]
- 人生を一発逆転させたい。簿記を勉強して税理士、インディーズゲーム制作、なろう作家、エロ同人…どれが一番コスパがいい? [268718286]
- 「金融所得」も医療費負担割合や保険料の算定に反映、将来は現役世代にも拡大、NISAやiDeCoも算出になるかも [943688309]
- F(u)=tan38° フータンの法則(1988年)🏡
- こんな時間でもウーバー頼めるんだな
- 【動画】INMU KINGヒトラーVer完全版、ついにリリースWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW [841411289]
- エロい目で見るのやめてください///