2016-03-24 3 views
0

私がマクロを扱っているのは初めてです。私は "BLACK"と "WHITE"オプションを使って "A52"と "A122"のドロップダウンを作成しました。エクセルVBは私をエクセルの底に連れて行きます

A52が選択されている場合、WHITE、Row 59-61 Hides A52が選択されている場合はBLACK、行56-58はA122で選択されている場合は を非表示にします。

唯一の問題は、カーソルとExcelビューが126-127の行に移動するたびにドロップダウンが選択されることです。それは、対応する行を隠していた、ちょうど毎回底に私を連れてください。

ヒントやトリックをいただければ幸いです。ありがとうございました!

Private Sub Worksheet_Change(ByVal Target As Range) 

If Range("A52") = "WHITE" Then 
    Rows("59:61").EntireRow.Hidden = True 
    Else 
    Rows("59:61").EntireRow.Hidden = False 
End If 

If Range("A52") = "BLACK" Then 
    Rows("56:58").EntireRow.Hidden = True 
    Else 
    Rows("56:58").EntireRow.Hidden = False 
End If 

If Range("A122") = "WHITE" Then 
    Rows("124:125").EntireRow.Hidden = True 
    Else 
    Rows("124:125").EntireRow.Hidden = False 
End If 

If Range("A122") = "BLACK" Then 
    Rows("126:127").EntireRow.Hidden = True 
    Else 
    Rows("126:127").EntireRow.Hidden = False 
End If 

End Sub 
+1

私はこの個人的には複製できませんが、いつでも 'Range(" A1 ")のようなものにドロップできます。テストがトリガされた場合は' 'または' ActiveWindow.ScrollRow = 1'をアクティブにしてください。 – Comintern

+0

私はあなたの問題を再現できませんでしたが、少し異なるイベント "Private Sub Workbook_SheetChange(ByVal Sh As Object、ByVal Target as Range)"を使用しました。あなたのコードは私のためにうまくいくように見えました、カーソルはドロップダウンでセルに残っていました。申し訳ありませんが私はより多くの助けになることはできません。 –

答えて

0

マクロを実行して、選択したセルにカーソルが残ります。あなたのマクロには、もっと多くのコード行がないのでしょうか?