2017-09-11 3 views
0

J'essaie de déclencher une fonction lorsque la colonne (ou ligne) d'ajustement automatique est déclenchée par l'utilisateur. Ainsi, lorsqu'un utilisateur clique deux fois sur la ligne entre les en-têtes de colonne pour modifier automatiquement la largeur de la colonne.Gestionnaire d'événement d'autofit Excel VBA

je peux changer la largeur de la colonne avec une fonction en VBA: Columns("D:D").EntireColumn.AutoFit, mais je voudrais avoir l'événement handler/trigger pour elle ...

+2

Il n'y a aucun événement exposé pour cela. – Rory

Répondre

0

Comme mentionné dans les commentaires, il n'y a aucun événement pour autofit , mais il existe un moyen de s'assurer qu'il reste le même que vous désirez. Ainsi, vous pouvez utiliser l'événement _Change avec une constante pour la largeur:

Private Const STANDARD_WIDTH = 6 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If Range("A:A").ColumnWidth <> STANDARD_WIDTH Then 
     Range("A:A").ColumnWidth = STANDARD_WIDTH 
    End If 
End Sub 
+0

cela aide mais ne tirera pas si l'utilisateur ne change pas la sélection. – ExcelinEfendisi