Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

wieder Makro Code





Frage

Hallo, ich bin es wieder mal und zwar mit folgendem Problem der folgende Code funktioniert so weit, nur müsste da noch eine abfrage mit eingebaut werden und zwar dürfen nur die Zellen gelöscht werden, wenn in der entsprechenden Zeile, Zelle B gleich H1 ist. Ich hoffe das ist einigermaßen verständlich erklärt. Dim Zelle As Range For Each Zelle In Range("j3:j1500") If Zelle = "ab" Then Range("a" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("b" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("c" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("d" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("e" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("f" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("g" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("h" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("i" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("k" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("n" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("j" & Zelle.Row).ClearContents If Zelle = "ab" Then Range("l" & Zelle.Row).ClearContents If Zelle = "auf" Then Range("k" & Zelle.Row).ClearContents If Zelle = "auf" Then Range("l" & Zelle.Row).ClearContents If Zelle = "auf" Then Range("m" & Zelle.Row).ClearContents If Zelle = "auf" Then Range("n" & Zelle.Row).ClearContents If Zelle = "auf" Then Range("j" & Zelle.Row).ClearContents Next Zelle End Sub Gruß Achim

Antwort 1 von Hajo_Zi

Hallo Achim,

ich hoffe mal ich habe mich nicht vertan. Ich habe Dein Beispiel nicht nachgebaut.
Option Explicit

Sub Achim()
Dim Zelle As Range
For Each Zelle In Range("j3:j1500")
If Zelle = "ab" And Zelle.Offset(0, -9) = Range("H1") Then
Range(Cells(Zelle.Row, 1), Cells(Zelle.Row, 11)).ClearContents
Range("n" & Zelle.Row).ClearContents
ElseIf Zelle = "ab" And Zelle.Offset(0, -9) = Range("H1") Then
Range(Range("l" & Zelle.Row), Range("n" & Zelle.Row)).ClearContents
End If
Next Zelle
End Sub

Gruß Hajo

Antwort 2 von achmi71

Hallo Hajo,

es tut mir leid aber dein Code funktioniert nicht.
Ich versuche es noch einmal mit der Beschreibung.
Und zwar werden ja mit dem Code die Zellen in der Zeile gelöscht in der die Zelle J gleich "ab" ist, jetzt soll das ganze aber nur funktioniern wenn in der gleichen Zeile die Zelle B = H1 ist und natürlich J= "ab" ist.

Ich hoffe das war jetzt einigermaßen verständlich.

Gruß und Danke schon mal
Achim

Antwort 3 von Hajo_Zi

Hallo Achim,

ich hatte schon geschrieben ich baue Deine Datei nicht nach. Vielleicht solltest Du Sie mal hochladen?.

Gruß Hajo

Antwort 4 von achim71

Hallo,

so nun der Link zur Datei, ist aber nur eine abgespeckte Version.
Da in der Mappe schon daten vorhanden sind die ich nicht so einfach Preisgeben darf.

http://www.netupload.de/img.php/513c0d1989b099ea8e6abdd14599e286.xls

Gruß
Achim

Antwort 5 von Hajo_Zi

Hallo Achim,

eine Datei stellt doch vielles tausend mal besser da als tausend Worte.

test es mal mit diesem Code

Option Explicit

Sub Achim()
Dim Zelle As Range
For Each Zelle In Range("j3:j1500")
If Zelle = "ab" And Zelle.Offset(0, -8) = Range("H1") Then
Range(Cells(Zelle.Row, 1), Cells(Zelle.Row, 11)).ClearContents
Range("n" & Zelle.Row).ClearContents
ElseIf Zelle = "auf" And Zelle.Offset(0, -8) = Range("H1") Then
Range(Range("l" & Zelle.Row), Range("n" & Zelle.Row)).ClearContents
End If
Next Zelle
End Sub

Warum beginnst Du in J3, das ist doch die Überschriftenzeile?

Gruß Hajo

Antwort 6 von achim71

Hallo Hajo,

da geb ich dir Recht eine Datei sagt immer mehr aus als Worte, so jetzt funktioniert das ganze aber leider nur fast, die Zellen J und K werden nicht gelöscht bei der abfrage mit "auf".


Gruß und schon mal vielen Dank
Achim

Antwort 7 von Hajo_Zi

Hallo Achim,

Du hast doch den Original Code erstellt da dürfte dieses Probllem doch ein leichtes sein?
Option Explicit

Sub Achim()
Dim Zelle As Range
For Each Zelle In Range("j3:j1500")
If Zelle = "ab" And Zelle.Offset(0, -8) = Range("H1") Then
Range(Cells(Zelle.Row, 1), Cells(Zelle.Row, 11)).ClearContents
Range("n" & Zelle.Row).ClearContents
ElseIf Zelle = "auf" And Zelle.Offset(0, -8) = Range("H1") Then
Range(Range("l" & Zelle.Row), Range("n" & Zelle.Row)).ClearContents
Range(Range("J" & Zelle.Row), Range("K" & Zelle.Row)).ClearContents
End If
Next Zelle
End Sub

Ich mache jetzt Feierabend.

Gruß Hajo

Antwort 8 von achim71

Hallo Hajo,

Danke noch einmal, hab den Fehler gefunden du hast den Spalten Buchstaben verwechselt bei "auf" muß das löschen ab der Spalte J beginnen und nicht bei L.
Jetzt funktioniert das ganze super.
Ach ja, die Daten fangen natürlich erst bei der Zeile 4 an und deswegen darf es nicht J3 sondern J4 lauten.


Gruß und einen schönen Abend
Achim

Antwort 9 von achim71

Hallo Hajo,

du warst ein wenig schneller als ich.

Ich auch.

Gruß
Achim

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: