Het vinden van Kolommen van een bepaalde breedte

Howard heeft een noodzaak om alle kolommen in een werkblad dat is een gegeven breedte ontdekken. Zo moet hij weten welke kolommen met een breedte van 3,6 hebben.

Dit kan worden gedaan met behulp van een macro. Eén van de eigenschappen macro toegang is de breedte van elke kolom. Dit betekent dat u stap voor stap door de kolommen en check die breedtes tegen de gewenste breedte (3.6) op de volgende manier:

Sub ListColumns ()
Dim dColWidth As Double
Dim sMsg als Koord
Dim x As Integer

dColWidth = 3.6
sMsg = ""
Voor x = 1 Om ActiveSheet.Columns.Count
Als Columns (x) .ColumnWidth = dColWidth Dan
sMsg = sMsg & vbCrLf & x
End If
Volgende
Als sMsg = "" Dan
sMsg = "Er zijn geen kolommen met" & _
vbCrLf & "een breedte van" & dColWidth
Anders
sMsg = "De volgende kolommen bevatten" & _
vbCrLf & "een breedte van" & dColWidth & _
":" & VbCrLf & sMsg
End If
MsgBox sMsg
End Sub

Deze macro Geeft een berichtvenster weer dat de kolommen die overeenkomen met de gewenste breedte geeft. De macro kan robuuster met enkele eenvoudige veranderingen worden gemaakt. Bijvoorbeeld, het volgende voorbeeld wordt de gebruiker gevraagd voor een kolom breedte, telt het aantal wedstrijden, en zelfs compenseert wanneer het werkblad wordt gebruikt R1C1 referencing modus.

Sub Find_ColumnWidth ()
Dim Col As Integer 'Column (lus variabele)
Dim ColsFound als kolommen Integer 'Gevonden Graaf
Dim Desired_Width As Double 'Kolombreedte te vinden
Dim OutStr As String 'Output String
Dim Titel As String 'Msgbox Titel
Dim I As Integer
Dim S As String

'Ontdek kolombreedte wilde
S = InputBox ("Voer ColumnWidth te vinden?", _
"Find ColumnWidth op" & ActiveSheet.Name)
Desired_Width = Val (S)
Als Desired_Width = 0 Then Exit Sub

'Initialiseren Columns Gevonden Graaf en Output String
ColsFound = 0
OutStr = ""

Voor Col = 1 To ActiveSheet.Columns.Count
Als Columns (Col) .ColumnWidth = Desired_Width Dan
ColsFound = ColsFound + 1

Als Application.ReferenceStyle = 1 Dan
'Met behulp van "A1" formaat
S = Cells (1, Col) .Address (ReferenceStyle: = xlA1)
S = Mid (S, 2, Len (S) - 3)
Anders
'Met behulp van "R1C1" formaat
S = Trim (Str (Col))
End If
OutStr = OutStr & S & vbCrLf
End If
Volgende

'Construct MsgBox titel String
Title = "width =" & Desired_Width _
& "Op" & ColsFound & "column" _
En links ("s", - (ColsFound> 1)) & ""

Als ColsFound = 0 Then
OutStr = "Geen resultaten gevonden"
End If

MsgBox OutStr, vbOKOnly, Titel
End Sub

ExcelTips is uw bron voor kosteneffectieve Microsoft Excel training. Deze tip (3827) is van toepassing op Microsoft Excel 97, 2000, 2002 en 2003. U kunt een versie van deze tip voor de ribbon-interface van Excel (Excel 2007 en later) vindt u hier: Het vinden van Kolommen van een bepaalde breedte.