AW: VBA - Bereich eingrenzen
27.09.2016 09:02:58
kultnoob
Hi Berndt,
teste mal bitte folgendes. Hab ich kurz mal runtergeschrieben.
Option Explicit
Sub test()
Dim a, b, c, d As Integer
Dim lrow As Integer
Set a = ActiveWorkbook.Sheets(1)
lrow = a.UsedRange.SpecialCells(xlCellTypeLastCell).Row
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _
'Bestimmen, ab wann die Tabelle beginnt --> Im Beispiel eine Zeile nach dem Zellenwert _
Namen'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' _
For b = 1 To lrow
'Suche in Spalte B nach der ersten Zelle, wo ein roter linker Rahmen enthalten ist
If a.Cells(b, 2).Borders(xlEdgeLeft).Color = RGB(255, 0, 0) Then
'Wenn Zelle gefunden, übergib den Wert der Variable B an die Variable C --> _
Start der Tabelle
c = b
Exit For
End If
Next b
'Größe der Tabelle bestimmen'
For b = 1 To lrow
'Prüfen, ob in der Zelle in Spalte B die Linke Seite der Zelle rot markiert ist
If a.Cells(b, 2).Borders(xlEdgeLeft).Color = RGB(255, 0, 0) Then
'Falls ja, wird die Zeile der Variable C übergeben --> Somit kann die Range spä _
ter bestimmt werden
d = b
End If
Next b
'Bereich löschen'
a.Range(a.Cells(c, 2), a.Cells(d, 14)).ClearContents
End Sub
Zuerst schaue ich, wo die Tabelle beginnt - Spalte B (Erster Roter Rahmen links)
Danach schaue ich, wo der letzte Rahmen links ist - Spalte B
Dann habe ich erste und letzte Zeile der Tabelle. Da die Überschriften gleich bleiben, weiß ich, wie viele Spalten verwendet werden.
Passt das so?
Gruß