![]() |
Tipp 0083
|
Zellbereiche ermitteln (SpecialCells)
|
 |
|
Autor/Einsender: Datum: |
|
Angie 17.06.2001 |
|
Entwicklungsumgebung: |
|
Excel 97 |
|
|
Mit der SpecialCells-Methode werden all jene Bereiche angesprochen, die über das Menü Bearbeiten / Gehe Zu... /
Inhalte... markiert werden können, wie z. B. Zellen mit Anmerkungen (xlCellTypeComments), alle leere Zellen (xlCellTypeBlanks),
alle sichtbaren Zellen (xlCellTypeVisible) usw. Siehe dazu die Excel-VB(A)-Hilfe.
|
In folgenden kleinen Beispielen wird gezeigt, wie mit der SpecialCells-Methode alle Zellen, die Formeln (xlCellTypeFormulas)
enthalten, mit einer Füllfarbe versehen, die Anzahl der Formeln auf dem Tabellenblatt ermittelt und die Adresse der letzten Zelle
(xlCellTypeLastCell) im verwendeten Bereich zurückgegeben werden kann.
|
|
Zellen mit Formeln mit Füllfarbe versehen |
|
|
Sub ColorCellsWithFormulas()
If TypeOf ActiveSheet Is Worksheet Then
On Error Resume Next
ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas). _
Interior.ColorIndex = 36
On Error GoTo 0
End If
End Sub
|
|
|
Anzahl der Formeln auf Tabellenblatt ermitteln |
|
|
Sub CountFormulasInWS()
Dim objRange As Range
If TypeOf ActiveSheet Is Worksheet Then
On Error Resume Next
Set objRange = _
ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
If Not objRange Is Nothing Then
MsgBox "Auf dem Tabellenblatt '" & ActiveSheet.Name & _
"' sind " & CStr(objRange.Cells.Count) & " Formeln.", _
vbOKOnly + vbInformation, "SpecialCells-Methode"
Set objRange = Nothing
Else
MsgBox "Auf dem Tabellenblatt '" & ActiveSheet.Name & _
"' sind keine Formeln enthalten!", _
vbOKOnly + vbInformation, "SpecialCells-Methode"
End If
On Error GoTo 0
Else
MsgBox "Bitte ein Tabellenblatt aktivieren!", _
vbOKOnly + vbInformation, "SpecialCells-Methode"
End If
End Sub
|
|
|
Zellen mit Konstanten, Zahlen und Text, mit verschiedenen Füllfarben versehen |
|
|
Sub SetCellsColor()
On Error Resume Next
ActiveSheet.UsedRange.SpecialCells( _
xlCellTypeConstants, xlNumbers). _
Interior.ColorIndex = 37
ActiveSheet.UsedRange.SpecialCells( _
xlCellTypeConstants, xlTextValues). _
Interior.ColorIndex = 38
On Error GoTo 0
End Sub
|
|
|
Letzte Zelle im verwendeten Bereich ermitteln |
|
|
Sub LastCellInUsedRange()
Dim objRange As Range
If TypeOf ActiveSheet Is Worksheet Then
With ActiveSheet
If Application.WorksheetFunction.CountA(.Cells) > 0 Then
Set objRange = .Cells.SpecialCells(xlCellTypeLastCell)
MsgBox "Die Adresse der letzten Zelle im " & vbCrLf & _
"benutzten Bereich ist " & objRange.Address, _
vbOKOnly + vbInformation, "SpecialCells-Methode"
Set objRange = Nothing
Else
MsgBox "Das Tabellenblatt ' " & .Name & _
"' enthält keine Daten!"
End If
End With
Else
MsgBox "Bitte ein Tabellenblatt aktivieren!", _
vbOKOnly + vbInformation, "SpecialCells-Methode"
End If
End Sub
|
|
|
|
Die im Download befindliche *.bas-Datei kann in Excel im VB-Editor importiert werden.
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
Excel-Version |
95 |
 |
|
97 |
 |
|
2000 |
 |
|
2002
(XP) |
 |
|
2003 |
 |
|
2007 |
 |
|
2010 |
 |
|
|
|
Download (1,9 kB)
|
Downloads bisher: [ 1269 ]
|
|
|