|
▼β さん:
標準モジュールに記入することでエラーは消えました!
有難うございます!!
ですがショートカットキーで飛んでくれません・・・
該当のセルは赤く表示されているのに・・・泣
Sub Test()
Application.MacroOptions Macro:="TestRed", ShortcutKey:="j"
End Sub
はSheet3上に記入して良いのですよね?
あと、この記述だとCtrl+Jをすると飛ぶということでよいのですよね??
>▼あや さん:
>
>>▼β さん:
>>ショートカットキーの割り当てでエラーが出てきてしまいます・・・
>>以下のようだとだめなのでしょうか。
>
>こちらで、標準モジュールにコードをコピペして、そのまま実行しましたが
>正常に登録されますよ。
>不思議ですねぇ。
>
>もちろんコード実行時に標準モジュールに TestRed が書かれているという前提ですが。
>
>あっ、いいわすれてましたが、TestRed は標準モジュールに書きます。
>
>>また、下記のプログラムをそのままコピーして使用させていただきましたが、”重複はありません”と常に表示されてしまいます・・・
>
>↑で書きましたがシートモジュールではなく標準モジュールです。
>で、このマクロは、B列の赤色のセルを捜しています。
>この赤は、シートモジュールのCommandButton1_Click() ルーティンで塗られます。
>赤に塗られたセルがない場合は、重複がないとみなされます。
>
>この実行は、Sheet3をアクティブにして行われると理解しています。
>
>
>>画面左側のワークシート選択するところでSheet3を選択し、(General)のところに下記のプログラムを記入すればよいのでしょうか?
>>
>>Sub TestRed()
>> Dim c As Range
>> With Application.FindFormat.Interior
>> .PatternColorIndex = xlAutomatic
>> .Color = 255
>> .TintAndShade = 0
>> .PatternTintAndShade = 0
>> End With
>> If ActiveCell.Column <> 2 Then Range("B1").Select
>> Set c = Columns("B").Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
>> SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, _
>> MatchByte:=False, SearchFormat:=True)
>> If c Is Nothing Then
>> MsgBox "重複セルはありません"
>> Else
>> c.Select
>> End If
>>
>> Application.FindFormat.Clear
>>
>>End Sub
>>
>>
>>>▼あや さん:
>>>
>>>>(CommandButton1 がActiveXなので、一致箇所もActiveXのほうがいいと思いますが)
>>>
>>>思いなおして。
>>>この処理はSheet3を見ながらの処理になるので、標準モジュールに書きましょう。
>>>で、これをボタン登録してもいいのですが、ボタンがシートの上のほうにあって
>>>検索せるが下のほうにあると、「次へ」の操作で、シートをまた上のほうにスクロールする
>>>必要があり操作が煩雑になります。
>>>
>>>なので、マクロにショートカットキーを割り当てて、Ctrl/● とやったほうが操作しやすいかも。
>>>
>>>なお、ボタン(マクロ)は1つでまかないましょう。
>>>
>>>Sub TestRed()
>>> Dim c As Range
>>> With Application.FindFormat.Interior
>>> .PatternColorIndex = xlAutomatic
>>> .Color = 255
>>> .TintAndShade = 0
>>> .PatternTintAndShade = 0
>>> End With
>>> If ActiveCell.Column <> 2 Then Range("B1").Select
>>> Set c = Columns("B").Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
>>> SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, _
>>> MatchByte:=False, SearchFormat:=True)
>>> If c Is Nothing Then
>>> MsgBox "重複セルはありません"
>>> Else
>>> c.Select
>>> End If
>>>
>>> Application.FindFormat.Clear
>>>
>>>End Sub
|
|