Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

mit VBA Zellen löschen
#1
Hallo Zusammen,
ich habe ein Problem ^^.
 
Im Ersten Bild siehst du ein Tagesdienstplan mit den Mitarbeitern wie sie arbeiten müssen.
Auf dem 2 Bild eine entsprechende Selektion.
In Bild 2 Hast du in der Zeile F Die Zeilen die gelöscht werden sollen.
 
Ich möchte das alle Mitarbeiter wo auf dem 2 Bild ein X steht, auf dem ersten Bild gelöscht werden. Bsp. Cordes soll A4:E4 gelöscht werden.
 
Bild 1 befindet sich auf dem Sheet „Zahlen zählen“
Bild 2 befindet sich auf dem Sheet „Recherche“
 
Ich hoffe sehr auf eure hilfe.

[color=black][size=small][ Bild bitte als Datei hochladen! ]

[color=black][size=small][ Bild bitte als Datei hochladen! ]
Antwortento top
#2
[color=black][size=small][ Bild bitte als Datei hochladen! ]

[color=black][size=small][ Bild bitte als Datei hochladen! ]
Antwortento top
#3
ich sehe keine Bilder oder Dateien. Aber das dürfte dir ja bekannt sein, da du deine Beiträge doch kontrollierst, oder?
Antwortento top
#4
Ich hoffe das kann man sehen ^^

   
   
Antwortento top
#5
Ich hoffe du kannst den code  testen und entsprechend anpassen.   ^^
die Zeilennummern ändern sich nach Löschung einer Zeile. Das solltest du beachten. 

Code:
Sub loeschenMA()

    Dim x As Range, rngTab1 As Range
   
    Set rngTab1 = Worksheets("Zahlen zählen").Range("F9:F" & Cells(Rows.Count, "F").End(xlUp).Row)
   
    For Each x In rngTab1
            
        If x.Offset(0, -1).Value = "x" Then
             Worksheets("Recherche").Range("A" & x.Value & ":E" & x.Value).Delete xlShiftUp
        End If
   
    Next

End Sub
Antwortento top
#6
Hallo ralf_b,
Danke dir für deinen Code. Nur bin ich noch ein wirklich sehr großer Anfänger was VBA angeht daher hab ich Ihn vermutlich noch nicht ausreichend geändert.

Kannst du mir vlt sagen was ich noch ändern muss damit es funktioniert? bzw was du vlt noch an Informationen Brauchst?


Sub loeschenMA()

    Dim x As Range, TabelleRecherche As Range
 
    Set TabelleRecherche = Worksheets("Recherche").Range("F9:F" & Cells(Rows.Count, "F").End(xlUp).Row)
 
    For Each x In TabelleRecherche
           
        If x.Offset(0, -1).Value = "x" Then
            Worksheets("Zahlen zählen").Range("A" & x.Value & ":E" & x.Value).Delete xlShiftUp
        End If
 
    Next


End Sub






.xlsm   Mittagspausentest.xlsm (Größe: 506,02 KB / Downloads: 3)
Antwortento top
#7

.xlsm   Mittagspausentest.xlsm (Größe: 510,46 KB / Downloads: 7)

anfänger ?? dafür hast du aber schon ne Menge Codezeilen in deiner Mappe.

und die wirre Anordnung der vielen Tabellen hilft nicht wirklich weiter beim Programmieren einer sauberen Lösung.
Danke für den Blattschutz. Solche gemeine Fallen müssen nicht wirklich sein. 
Ich habe die Löschroutine ohne deine Zeilenangabe umgesetzt. 
Ich verwende den Bereichsnamen für die Recherchetabelle. 
Diese wird in der Spalte mit den X'en durchlaufen und wenn ein x drin ist, vergleiche ich den Namen aus Spalte 3 mit dem Namen  aus  "Zahlen zählen"A4:A61" 
Wenn der stimmt vergleiche ich noch zusätzlich das Vornamenskürzel.  Erst bei dieser Übereinstimmung wird der Zeilenbereich gelöscht.
Und anschließend das x entfernt, weil du ja die Namenszeilen referenzierst und die dann verschwinden in der Recherchetabelle.
Antwortento top
#8
Vielen Dank für deine Hilfe Smile
Antwortento top
#9
nun , ich habe mir die hochgeladene Datei wieder runtergeladen
sie geöffnet 
ein x gesetzt und das makro ausgeführt
ergebnis: name weg(aus zahlen zählen und  recherche, x weg) 

ich kann deine Resultate nicht nachvollziehen.


edit: du hast deinen post noch angepasst, ok, dann funktioniert es wohl doch.
Antwortento top
#10
Vielen Dank noch mal ralf_b mit deinem Makro konnte ich sehr viel Anfangen.
Ich habe allerdings doch noch ein Problem.

Wenn ich z.b 5 auf einmal löschen möchte ( 5 mal X untereinander) löscht er den untersten nicht.
Ich vermute weil er ja immer nach dem löschen eine Zelle hoch zieht auf dem Arbeitsblatt "Zahlen zählen"
das ist eigentlich nicht nötig das er auf dieser Seite das ganze hoch zieht.
Nur konnte ich leider trotz Bemühung das nicht so einstellen das es mit mehren X funktioniert.

Vlt hast du ja nochmal die Möglichkeit dir das anzuschauen?
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste