Excel VBA 質問スレッド No.744 (未解決)

どのようにしたら機能するかおしえてほしいです。

投稿者 : hana     投稿日時 : 2022/05/24(Tue) 11:27:58     OS : Windows 10     EXCEL : Excel 2021
選択したセルの罫線と下線を両方ひけるようにしたいです。
また、それが後でショートカットを割り当てますが、ショートカットキーで循環されるようにしたいです。


Sub 下線の設定をするマクロ()


If ActiveSheet.ProtectContents = True Then
MsgBox "シートに保護がかかっている"
Exit Sub

End If


With Selection.Borders(xlInsideHorizontal)


Select Case .LineStyle


Case xlContinuous '下線のとき
.LineStyle = xlDot '点線にする

Case xlDot '点線のとき
.LineStyle = xlDouble '二重線にする

Case xlDouble '二重線のとき
.LineStyle = xlLineStyleNone 'なしにする

Case Else '4色どの色でもないセルのとき
.LineStyle = xlContinuous '下線にする

End With

With Selection.Borders(xlEdgeBottom)


Select Case .LineStyle

Case xlContinuous '下線のとき
.LineStyle = xlDot '点線にする

Case xlDot '点線のとき
.LineStyle = xlDouble '二重線にする

Case xlDouble '二重線のとき
.LineStyle = xlLineStyleNone 'なしにする

Case Else '4色どの色でもないセルのとき
.LineStyle = xlContinuous '下線にする

End With

End Sub

[返信 1] Re : どのようにしたら機能するかおしえてほしいです。
投稿者 : 甲樹     投稿日時 : 2022/05/24(Tue) 16:51:51
Dim Cel as range

for each Cel in selection
With Cel.Borders(xlEdgeBottom)

next

[返信 2] Re : どのようにしたら機能するかおしえてほしいです。
投稿者 : てらてら     投稿日時 : 2022/05/24(Tue) 19:38:04
こんにちは。
End Selectが抜けてましたね。

ショートカットキーに登録するには、

1.setShortCutKey()でセット。
2.ショートカットキーで遊ぶ。
3.resetShortCutKey()で元に戻す。

一連の流れをブックがオープンした時とかボタンとかで制御してください。

Sub 下線の設定をするマクロ()

If ActiveSheet.ProtectContents = True Then
MsgBox "シートに保護がかかっている"
Exit Sub
End If


With Selection.Borders(xlInsideHorizontal)

Select Case .LineStyle
Case xlContinuous '下線のとき
.LineStyle = xlDot '点線にする

Case xlDot '点線のとき
.LineStyle = xlDouble '二重線にする

Case xlDouble '二重線のとき
.LineStyle = xlLineStyleNone 'なしにする

Case Else '4色どの色でもないセルのとき
.LineStyle = xlContinuous '下線にする
End Select
End With

With Selection.Borders(xlEdgeBottom)
Select Case .LineStyle

Case xlContinuous '下線のとき
.LineStyle = xlDot '点線にする

Case xlDot '点線のとき
.LineStyle = xlDouble '二重線にする

Case xlDouble '二重線のとき
.LineStyle = xlLineStyleNone 'なしにする

Case Else '4色どの色でもないセルのとき
.LineStyle = xlContinuous '下線にする
End Select
End With

End Sub

'Ctr+b をショートカットにセット(ショートカットを有効化)
Sub setShortCutKey()
Application.MacroOptions Macro:="下線の設定をするマクロ", ShortcutKey:="b"
End Sub

'ショートカットを解除(ショートカットを無効化)
Sub resetShortCutKey()
Application.MacroOptions Macro:="下線の設定をするマクロ", ShortcutKey:=""
End Sub

当掲示板について
返信入力フォーム
お 名 前  :
内  容   :
ステータス  : この質問を解決済みにする

認証コード  :
        キャプチャ画像


( 処理日時 : 2022-07-07 13:38:07 )

Page
Top