Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1268to1272
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bestimmte Zellen aus bestimmter Spalte

Bestimmte Zellen aus bestimmter Spalte
Julius
Hallo,
ich habe folgendes Problem und zwar habe ich eine größere Tabelle mit vielen Werten. Was ich machen muss ist, aus den Spalte "AG-AN" alle Zellen löschen die nicht den Teilinhalt "Abs." haben.
Nun müssten die verbliebenen Werte also z.B. "Anlagevermittlung (§ 1 Abs. 1a Satz 2 Nr. 1 KWG)" etc. genau 54 Zellen nach oben verschoben werden.
Abschließend müssten die nun untereinander in einer Spalte stehenden Werte, nebeneinander in eine Zeile aufgereiht werden.
Ich hoffe das war einigermaßen verständlich, ich hab mich schon durch einiges an Foren gewälzt aber nichts wirklich gefunden was etwas dezidierter mein Problem behebt.
Habe nur sehr oberflächliche Kenntnis von VBA, wäre super wenn mir einer Helfen könnte.
MfG,
Julius
AW: Bestimmte Zellen aus bestimmter Spalte
21.06.2012 11:45:32
fcs
Hallo Julius,
für eine einzelne (wenn auch umfangreiche) Tabelle wird dir hier niemand ein Makro schreiben.
Nach meiner Einschätzung kriegt man das auch mit vertretbarem Aufwand von Hand gebacken.
Eins vorweg:
Wenn in den Spalten AG bis AN mehr ca.255 Werte mit "Abs." stehen bleiben, dann kannst du die Anordnung in einer Zeile nebeneinander gleich vergessen, wenn du mit Excel 2003 oder älter arbeitest.
Frage:
Meinst du mit "Zellen löschen" wirklich, dass nur die "unerwünschten" einzelnen Zellen in den Spalten AG bis AN gelöscht werden sollen. D.h. die Inhalte links von Spalte AG und rechts von Spalte AN bleiben unverändert und Spalte AG-AN sieht nach der Lösch-Aktion etwa so aus?
Abs. 1.1.1.1	AH Abs. 44	AI Abs. 2	AJ Abs. 1	Abs. 13AK	Abs. 4 AL	AM Abs. 2	AN Abs. 3
AG Abs. 2			AI Abs. 4	AJ Abs.	Abs. 12AK
Abs. 14AK

Dann sieht die vorgehensweise wie folgt aus.
1. markiere in AG-AN von einer Zeile oberhalb der Daten bis zum Ende die Zellen und aktiviere den Autofilter
2. Setze für alle Spalten den Filter auf benutzerdefiniert-enthält nicht-Abs.
3. markiere unterhalb der Filter-Titelzeile alle Daten in AG-AN und lösche die Inhalte.
4. Setze in Spalte AN den Filter auf alle anzeigen
5. Markiere Bereich in Spalten AG bis AM und lösche alle Daten.
6. Schritt 4 und 5 wiederholst du analog für die Spalten AM, AL bis AG
7. Markiere unterhalb der Filtertitel-Zeile den Datenbereich in Spalten AG-AN
8. Hier kennen ich die Menüfolge in Excel 2003 nicht mehr
Suchen oder Bearbeiten -- Inhalte auswählen -- Leere Zellen
9. Alle leeren Zellen sind jetzt markiert - Zellen löschen mit der Option nach oben verschieben.
10. Autofilter deaktivieren
11. Daten in AG-AN markieren, ausschneiden und 54 Zeilen weiter oben wieder einfügen.
12. Die in den 8 Spalten jeweils markieren, kopieren und mit Einfügen Inhalte -Option Transponieren an der gewünschten Position einfügen.
Gruß
Franz
P.S. wenn du die unbedingt Unterstützung per Makro möchtest, dann solltest du eine anonymisierte Beispieldatei mit ein paar Datenzeilen hochladen und jeweils einem Tabellenbaltt vorher/nachher.
Anzeige
AW: Bestimmte Zellen aus bestimmter Spalte
21.06.2012 12:20:51
Julius
Servus Franz,
danke für die schnelle Antwort!
Wenn in den Spalten AG bis AN mehr ca.255 Werte mit "Abs." stehen bleiben, dann kannst du die Anordnung in einer Zeile nebeneinander gleich vergessen, wenn du mit Excel 2003 oder älter arbeitest
Es ist so, dass sich nur in der Spalte AG Zellen mit einem Teilinhalt "Abs." befinden und davon auch in der Regel nicht mehr als 12-13, ich denke das sollte Excel packen.
Meinst du mit "Zellen löschen" wirklich, dass nur die "unerwünschten" einzelnen Zellen in den Spalten AG bis AN gelöscht werden sollen. D.h. die Inhalte links von Spalte AG und rechts von Spalte AN bleiben unverändert und Spalte AG-AN sieht nach der Lösch-Aktion etwa so aus?
Ja genau das müsste ich machen, ich denke das klappt auch automatisiert, wenn ich das über den Visual Basic Editor aufnehme. Vielen Dank erstmal, sollte es dazu Probleme geben schreib ich das nochmal rein.
Hast du allerdings eine Idee wie ich das mit dem Rest hinbekomme, also das verschieben nach oben, sowie die übrig gebliebenen Werte von der Spalte in deine Zeile zu verwandeln?
Viele Grüße,
Julius
Anzeige
AW: Bestimmte Zellen aus bestimmter Spalte
21.06.2012 14:25:41
fcs
Hallo Julius,
wenn die Zellen mit "Abs." nur in Spalte AG vorkommen, dann kann man das Ganze etwas vereinfachen.
Nachfolgend ein entsprechendes Makro.
Vor dem Start des Makros muss die erste Zelle in Spalte AG selektiert werden, ab der nach "Abs." gesucht werden soll.
Gruß
Franz
Sub Suchen_Transponieren_Abs()
Dim wks As Worksheet
Dim ZelleStart As Range
Dim DeltaZeile As Long
Dim Bereich As Range, Zeile_L As Long
Set wks = ActiveSheet
DeltaZeile = 54 'Anzeilen, um die die Zellen mit "Abs." nach oben verschoben werden sollen
Set ZelleStart = Selection
If MsgBox("Daten ab Zelle " & ZelleStart.Address _
& " aufbereiten, kopieren und Transponieren", _
vbQuestion + vbYesNo, "Makro: Suchen_Transponieren_Abs") = vbNo Then Exit Sub
With wks
'falls aktiv, dann Autofilter deaktivieren
If .AutoFilterMode = True Then
If .FilterMode = True Then .ShowAllData
.AutoFilterMode = False
End If
'Prüfen von Spalte und Zeile der selektierten Startzelle
If ZelleStart.Column = .Range("AG1").Column _
And ZelleStart.Row > DeltaZeile _
And ZelleStart.Cells.Count = 1 Then
'Selektion ist ok
Else
MsgBox "Startzelle für Makro muss einzelne Zelle in Spalte AG sein, " _
& "unterhalb von Zeile " & DeltaZeile, _
vbInformation + vbOKOnly, _
"Selektierte Zelle: " & ZelleStart.Address
Exit Sub
End If
'letzte Datenzeile in Spalten AG:AN
With .Range("AG:AN")
Set Bereich = .Find(after:=.Range("A1"), What:="*", LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
End With
If Bereich Is Nothing Then
MsgBox " Keine Daten in Spalten AG:AN"
Exit Sub
Else
Zeile_L = Bereich.Row
If Zeile_L *Abs.*"
'Inhalt in sichtbaren Zellen löschen
Set Bereich = .Range(ZelleStart.Offset(1, 0), .Cells(Zeile_L, ZelleStart.Column))
Bereich.ClearContents
wks.ShowAllData
wks.AutoFilterMode = False
'leere Zellen löschen
If Application.WorksheetFunction.CountBlank(Bereich) > 0 Then
Bereich.SpecialCells(xlCellTypeBlanks).Delete shift:=xlShiftUp
End If
'neue Letztezeile in Spalte AG
Zeile_L = .Cells(.Rows.Count, ZelleStart.Column).End(xlUp).Row
If Zeile_L 

Anzeige
AW: Bestimmte Zellen aus bestimmter Spalte
21.06.2012 16:20:25
Julius
!!!!!
Du bist ja super!!!!!!!!!
Vielen, vielen Dank
Geniale Arbeit!
AW: Bestimmte Zellen aus bestimmter Spalte
21.06.2012 17:07:24
Julius
War ein kleiner Edit with - Fehler drin und hab es noch ein bisschen auf mich angepasst, aber nochmals vielen Dank hier noch mmal der ganze Code
Sub Suchen_Transponieren_Abs
Dim wks As Worksheet
Dim ZelleStart As Range
Dim DeltaZeile As Long
Dim Bereich As Range, Zeile_L As Long
Set wks = ActiveSheet
DeltaZeile = 54 'Anzeilen, um die die Zellen mit "Abs." nach oben verschoben werden sollen
Set ZelleStart = Selection
If MsgBox("Daten ab Zelle " & ZelleStart.Address _
& " aufbereiten, kopieren und Transponieren", _
vbQuestion + vbYesNo, "Makro: Suchen_Transponieren_Abs") = vbNo Then Exit Sub
With wks
'falls aktiv, dann Autofilter deaktivieren
If .AutoFilterMode = True Then
If .FilterMode = True Then .ShowAllData
.AutoFilterMode = False
End If
'Prüfen von Spalte und Zeile der selektierten Startzelle
If ZelleStart.Column = .Range("AG1").Column _
And ZelleStart.Row > DeltaZeile _
And ZelleStart.Cells.Count = 1 Then
'Selektion ist ok
Else
MsgBox "Startzelle für Makro muss einzelne Zelle in Spalte AG sein, " _
& "unterhalb von Zeile " & DeltaZeile, _
vbInformation + vbOKOnly, _
"Selektierte Zelle: " & ZelleStart.Address
Exit Sub
End If
'letzte Datenzeile in Spalten AG:AN
With .Range("AG:AN")
Set Bereich = .Find(after:=.Range("A1"), What:="*", LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
End With
If Bereich Is Nothing Then
MsgBox " Keine Daten in Spalten AG:AN"
Exit Sub
Else
Zeile_L = Bereich.Row
If Zeile_L *Abs.*"
'Inhalt in sichtbaren Zellen löschen
Set Bereich = .Range(ZelleStart.Offset(1, 0), .Cells(Zeile_L, ZelleStart.Column))
Bereich.ClearContents
wks.ShowAllData
wks.AutoFilterMode = False
'leere Zellen löschen
If Application.WorksheetFunction.CountBlank(Bereich) > 0 Then
Bereich.SpecialCells(xlCellTypeBlanks).Delete shift:=xlShiftUp
End If
'neue Letztezeile in Spalte AG
Zeile_L = .Cells(.Rows.Count, ZelleStart.Column).End(xlUp).Row
If Zeile_L 

Anzeige
AW: Bestimmte Zellen aus bestimmter Spalte
21.06.2012 17:54:52
fcs
Hallo Julius,
ich hab deine Fassung auch mal probiert.
Am Schluß löscht du ja alle Werte in Spalte AG.
Dabei wird auch der 1. gefundene Eintrag mit "Abs." gelöscht. Ist das so beabsichtigt?
Gruß
Franz
AW: Bestimmte Zellen aus bestimmter Spalte
22.06.2012 09:28:27
Julius
Ok, du hast Recht ich bin immer in der Annahme gewesen, dass in AG noch ein unötiges Element rein kopiert wird. Unten nochmal der korrigierte Code
Sub Suchen_Transponieren_Abs
Dim wks As Worksheet
Dim ZelleStart As Range
Dim DeltaZeile As Long
Dim Bereich As Range, Zeile_L As Long
Set wks = ActiveSheet
DeltaZeile = 54 'Anzeilen, um die die Zellen mit "Abs." nach oben verschoben werden sollen
Set ZelleStart = Selection
If MsgBox("Daten ab Zelle " & ZelleStart.Address _
& " aufbereiten, kopieren und Transponieren", _
vbQuestion + vbYesNo, "Makro: Suchen_Transponieren_Abs") = vbNo Then Exit Sub
With wks
'falls aktiv, dann Autofilter deaktivieren
If .AutoFilterMode = True Then
If .FilterMode = True Then .ShowAllData
.AutoFilterMode = False
End If
'Prüfen von Spalte und Zeile der selektierten Startzelle
If ZelleStart.Column = .Range("AG1").Column _
And ZelleStart.Row > DeltaZeile _
And ZelleStart.Cells.Count = 1 Then
'Selektion ist ok
Else
MsgBox "Startzelle für Makro muss einzelne Zelle in Spalte AG sein, " _
& "unterhalb von Zeile " & DeltaZeile, _
vbInformation + vbOKOnly, _
"Selektierte Zelle: " & ZelleStart.Address
Exit Sub
End If
'letzte Datenzeile in Spalten AG:AN
With .Range("AG:AN")
Set Bereich = .Find(after:=.Range("A1"), What:="*", LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
End With
If Bereich Is Nothing Then
MsgBox " Keine Daten in Spalten AG:AN"
Exit Sub
Else
Zeile_L = Bereich.Row
If Zeile_L *Abs.*"
'Inhalt in sichtbaren Zellen löschen
Set Bereich = .Range(ZelleStart.Offset(1, 0), .Cells(Zeile_L, ZelleStart.Column))
Bereich.ClearContents
wks.ShowAllData
wks.AutoFilterMode = False
'leere Zellen löschen
If Application.WorksheetFunction.CountBlank(Bereich) > 0 Then
Bereich.SpecialCells(xlCellTypeBlanks).Delete shift:=xlShiftUp
End If
'neue Letztezeile in Spalte AG
Zeile_L = .Cells(.Rows.Count, ZelleStart.Column).End(xlUp).Row
If Zeile_L *Abs.*", Operator:=xlAnd
Selection.ClearContents
End Sub


Anzeige
AW: Bestimmte Zellen aus bestimmter Spalte
22.06.2012 10:11:14
Julius
Franz ich hab mal eine Frage und zwar ist es machbar da eine eine Schleife drauf zu basteln, so dass das Makro durchläuft bis es in der Spalte AB auf die erste Leer Zelle stößt. Die Zellen, die fixiert bleiben sollen, hab ich bereits fixiert alle anderen sollten Schrittweise runtergearbeitet werden.
Ich bin am Suchen, ich denke es müsste eine Do...Until Loop sein, aber ich weiß nicht ob ich da dann den ganzen Code umschreiben muss.
Hier jetzt mal das gesamte Makro.
Sub Webabfrage()
Sheets("Tabelle1").Select
Application.Run "BLPLinkReset"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & Range("AB578").Value _
, Destination:=Range("AG578"))
.Name = "institutDetails.do?cmd=loadInstitutAction&institutId=123024"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
'Überprüfen Inhalt
Dim rng As Range
For Each rng In Range("$AG$10:$AG$825")
If rng.Value = "Abschlußvermittlung (§ 1 Abs. 1a Satz 2 Nr. 2 KWG)" Or rng.Value = " _
Anlageverwaltung (§ 1 Abs. 1a Satz 2 Nr. 11 KWG)" Or rng.Value = "Factoring (§ 1 Abs. 1a Satz 2 Nr. 9 KWG)" Then
Range("$AG$1") = "1"
End If
Next
'Select what to do
For Each rng In Range("$AG$10:$AG$825")
If Range("$AG$1") = "" Then
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("*BaFin (Link zur Startseite)*", Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End If
Next
'Delete Useless Content
Range("AG:AG").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="*Factoring*", Operator:=xlOr, _
Criteria2:="*Leasing*"
Range("$AG$1:$AN$887").ClearContents
'Zelle wählen
Range("AG632").Select
'Suchen Transponieren Abs
Dim wks As Worksheet
Dim ZelleStart As Range
Dim DeltaZeile As Long
Dim Bereich As Range, Zeile_L As Long
Set wks = ActiveSheet
DeltaZeile = 54 'Anzeilen, um die die Zellen mit "Abs." nach oben verschoben werden sollen
Set ZelleStart = Selection
'Wordbox ehemalig
With wks
'falls aktiv, dann Autofilter deaktivieren
If .AutoFilterMode = True Then
If .FilterMode = True Then .ShowAllData
.AutoFilterMode = False
End If
'Prüfen von Spalte und Zeile der selektierten Startzelle
If ZelleStart.Column = .Range("$AG$1").Column _
And ZelleStart.Row > DeltaZeile _
And ZelleStart.Cells.Count = 1 Then
'Selektion ist ok
Else
MsgBox "Startzelle für Makro muss einzelne Zelle in Spalte AG sein, " _
& "unterhalb von Zeile " & DeltaZeile, _
vbInformation + vbOKOnly, _
"Selektierte Zelle: " & ZelleStart.Address
Exit Sub
End If
'letzte Datenzeile in Spalten AG:AN
With .Range("AG:AN")
Set Bereich = .Find(after:=.Range("A1"), What:="*", LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
End With
If Bereich Is Nothing Then
MsgBox " Keine Daten in Spalten AG:AN"
Exit Sub
Else
Zeile_L = Bereich.Row
If Zeile_L *Abs.*"
'Inhalt in sichtbaren Zellen löschen
Set Bereich = .Range(ZelleStart.Offset(1, 0), .Cells(Zeile_L, ZelleStart.Column))
Bereich.ClearContents
wks.ShowAllData
wks.AutoFilterMode = False
'leere Zellen löschen
If Application.WorksheetFunction.CountBlank(Bereich) > 0 Then
Bereich.SpecialCells(xlCellTypeBlanks).Delete shift:=xlShiftUp
End If
'neue Letztezeile in Spalte AG
Zeile_L = .Cells(.Rows.Count, ZelleStart.Column).End(xlUp).Row
If Zeile_L *Abs.*", Operator:=xlAnd
Selection.ClearContents
Range("AG578").Select
End Sub

Anzeige
AW: Bestimmte Zellen aus bestimmter Spalte
22.06.2012 10:21:26
Julius
Hallo Franz,
ich würde gerne das Makro von solange durchlaufen lassen, bis es in Spalte A auf eine leere Zelle trifft. Ich hab ein bisschen recherchiert ich denke es müsst eine Do...Until Loop sein, aber bei der Komplexität vom Makro kann ich die Schleife schlicht weg nicht umsetzten, weil ich nicht weiß wie man das Makro richtig konditioniert, sodass nur die richitgen Zellen betroffen werden.
Hier der Code, fyi die fixierten Zellen hab ich bewusst fixiert :)
Sub Webabfrage()
Sheets("Tabelle1").Select
Application.Run "BLPLinkReset"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;" & Range("AB578").Value _
, Destination:=Range("AG578"))
.Name = "institutDetails.do?cmd=loadInstitutAction&institutId=123024"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
'Überprüfen Inhalt
Dim rng As Range
For Each rng In Range("$AG$10:$AG$825")
If rng.Value = "Abschlußvermittlung (§ 1 Abs. 1a Satz 2 Nr. 2 KWG)" Or rng.Value = " _
Anlageverwaltung (§ 1 Abs. 1a Satz 2 Nr. 11 KWG)" Or rng.Value = "Factoring (§ 1 Abs. 1a Satz 2 Nr. 9 KWG)" Then
Range("$AG$1") = "1"
End If
Next
'Select what to do
For Each rng In Range("$AG$10:$AG$825")
If Range("$AG$1") = "" Then
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("*BaFin (Link zur Startseite)*", Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End If
Next
'Delete Useless Content
Range("AG:AG").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="*Factoring*", Operator:=xlOr, _
Criteria2:="*Leasing*"
Range("$AG$1:$AN$887").ClearContents
'Zelle wählen
Range("AG632").Select
'Suchen Transponieren Abs
Dim wks As Worksheet
Dim ZelleStart As Range
Dim DeltaZeile As Long
Dim Bereich As Range, Zeile_L As Long
Set wks = ActiveSheet
DeltaZeile = 54 'Anzeilen, um die die Zellen mit "Abs." nach oben verschoben werden sollen
Set ZelleStart = Selection
'Wordbox ehemalig
With wks
'falls aktiv, dann Autofilter deaktivieren
If .AutoFilterMode = True Then
If .FilterMode = True Then .ShowAllData
.AutoFilterMode = False
End If
'Prüfen von Spalte und Zeile der selektierten Startzelle
If ZelleStart.Column = .Range("$AG$1").Column _
And ZelleStart.Row > DeltaZeile _
And ZelleStart.Cells.Count = 1 Then
'Selektion ist ok
Else
MsgBox "Startzelle für Makro muss einzelne Zelle in Spalte AG sein, " _
& "unterhalb von Zeile " & DeltaZeile, _
vbInformation + vbOKOnly, _
"Selektierte Zelle: " & ZelleStart.Address
Exit Sub
End If
'letzte Datenzeile in Spalten AG:AN
With .Range("AG:AN")
Set Bereich = .Find(after:=.Range("A1"), What:="*", LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
End With
If Bereich Is Nothing Then
MsgBox " Keine Daten in Spalten AG:AN"
Exit Sub
Else
Zeile_L = Bereich.Row
If Zeile_L *Abs.*"
'Inhalt in sichtbaren Zellen löschen
Set Bereich = .Range(ZelleStart.Offset(1, 0), .Cells(Zeile_L, ZelleStart.Column))
Bereich.ClearContents
wks.ShowAllData
wks.AutoFilterMode = False
'leere Zellen löschen
If Application.WorksheetFunction.CountBlank(Bereich) > 0 Then
Bereich.SpecialCells(xlCellTypeBlanks).Delete shift:=xlShiftUp
End If
'neue Letztezeile in Spalte AG
Zeile_L = .Cells(.Rows.Count, ZelleStart.Column).End(xlUp).Row
If Zeile_L *Abs.*", Operator:=xlAnd
Selection.ClearContents
Range("AG578").Select
End Sub
Wäre super wenn du da helfen könntest! Oder irgendjemand anderes natürlich auch
Anzeige
AW: Bestimmte Zellen aus bestimmter Spalte
22.06.2012 12:44:29
fcs
Hallo Julius,
hier ein paar Beispiele mit Do..Loop
Man kann auch auch Prüfungen in die Schleife einbauen und mit "Exit do" die Schleife verlassen.
Gruß
Franz
Sub aaTest1()
Dim Zeile As Long, wks As Worksheet
Set wks = ActiveSheet
Zeile = 1 'Startzeile für Do-Loop
With wks
Do Until .Cells(Zeile, 1) = ""
'Aktionen mit löschen von Zeilen nach Wertprüfung
If .Cells(Zeile, 1) = "ABC" Then
.Rows(Zeile).Delete
Else
Zeile = Zeile + 1
End If
Loop
End With
End Sub
Sub aaTest2()
Dim Zeile As Long, wks As Worksheet
Set wks = ActiveSheet
Zeile = 1 'Startzeile für Do-Loop
With wks
Do Until .Cells(Zeile, 1) = ""
'Aktionen
If .Cells(Zeile, 1) = "ABC" Then
.Cells(Zeile, 7).Value = 1
.Range(.Cells(Zeile, 20), .Cells(Zeile, 25)).ClearContents
End If
Zeile = Zeile + 1
Loop
End With
End Sub
Sub aaTest3()
Dim Zeile As Long, wks As Worksheet
Set wks = ActiveSheet
Zeile = 1 'Startzeile für Do-Loop
With wks
'    Do Until .Cells(Zeile, 1) = ""
Do Until IsEmpty(.Cells(Zeile, 1))
Zeile = Zeile + 1
Loop
End With
MsgBox "Erste leere Zelle in Spalte A ist in Zeile " & Zeile, _
vbInformation, "Leere zelle suchen"
End Sub

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige