2016-05-02 9 views
0

リストドロップダウンセルによるデータ検証が多数あるフォームがあります。 たびたび彼らは「スタック」して、唯一の解決策はセルを削除して再作成することです。 止まったとき。ドロップダウン矢印はセルが選択されていない状態で表示され、クリックすると空白のリストが表示されます。Excelセル内のドロップダウンボックスがつぶれた

セルが選択されているときに、Excelが微妙なドロップダウンシェイプを描画するように見えます。このシェイプをクリックすると、ドロップダウンのシェイプとリストが描画されます。 リストで選択すると、値はセルになり、ドロップダウンシェイプが削除されます。 時にはそれだけではありません。

プログラムによる解決策がありますか、実際には「スタック」ドロップダウンのインスタンスを手動で修正する唯一の方法はありますか?

+0

解決策がプログラムであっても、これはプログラミングに関する質問ではありません。投稿のガイドラインに合わせて編集することもできます。私もここで実際の質問は表示されません。 – tripleee

答えて

0

解決策私が見つけた解決策は、ドロップダウンせずにセルを選択し、表示されているすべてのシェイプを「ドロップダウン」という名前で削除することです。見えないものもあるかもしれませんし、これらのANYを削除するとシート上のすべてのドロップダウンが破られます。

Private Sub Worksheet_Activate() 
Call KillStuckDropdown(Me.Name) 
End Sub 

モジュール内。

Sub KillStuckDropdown(wsName) 
Dim ws As Worksheet 
Dim sh As Shape 

Application.ScreenUpdating = False 

Set ws = Sheets(wsName) 
ws.Range("AM1").Select 
For Each sh In ws.Shapes 
    If InStr(1, sh.Name, "Drop") > 0 And sh.Visible Then 
'   Debug.Print sh.Name 
     sh.Delete 
    End If 
Next sh 

ActiveWindow.ScrollRow = 1 
ActiveWindow.ScrollColumn = 1 
Application.ScreenUpdating = True 

End Sub 
関連する問題