Vba code
#1
Hallo,
Ich bräuchte einen Vba code.
Alles was ist Tabelle 2 Spalte A egal ob Text oder Zahl steht,  soll in Tabelle  1 Spalte A die Zeile löschen und dann nach rutschen. Wäre sowas möglich? Ca. 54000zeilen muss er in der Tabelle 1 suchen.


Wäre  supi von euch.
Top
#2
Hi Jürgen,

(26.08.2015, 21:28)Jürschen175 schrieb: Ich bräuchte einen Vba code.
Alles was ist Tabelle 2 Spalte A egal ob Text oder Zahl steht,  soll in Tabelle  1 Spalte A die Zeile löschen und dann nach rutschen. Wäre sowas möglich? Ca. 54000zeilen muss er in der Tabelle 1 suchen.

kannst Du mal die Datei mit einem (kleinen) Teil der Zeilen zur Verfügung stellen?

Im Prinzip: wie ist es und wie soll es werden?

Hier steht, wie es geht:
Zur Vorwarnung: Anstatt Screenshots ist eine Datei oder ein Ausschnitt besser!
"Du gehst ja auch nicht in die Werkstatt und gibst ein Foto Deines kaputten Autos ab!"

Also stelle bitte (D)eine (Beispiel-)Tabelle als Excel-Datei zur Verfügung oder stelle die relevanten Ausschnitte hier dar, siehe die als Wichtige Themen: markierten Forums-Beiträge.
Die farbigen Texte sind anklickbare Links:

Beitrag 1 WICHTIG: Tabellenausschnitte und VBA-Codes im Forum einstellen
Beitrag 2 WICHTIG: Arbeitsmappen zur Verfügung stellen
Top
#3
Hallo,

mal ein Ansatz.

Code:
Option Explicit

Sub prcLoeschen()
  Dim rngTreffer As Range
  Dim lngC As Long
 
  'Tabellennamen bitte anpassen, Werte werden aus der Tabelle2 ab Zeile 2 genommen und falls vorhanden in der Tabelle1 gelöscht.
  With Worksheets("Tabelle2")
     For lngC = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
        Set rngTreffer = Worksheets("Tabelle1").Columns(1).Find(.Cells(lngC, 1).Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not rngTreffer Is Nothing Then Worksheets("Tabelle1").Rows(rngTreffer.Row).Delete
     Next lngC
  End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#4
Hallo zusammen,

anbei eine Beispieldatei.




[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Hallo
MK_152
1-95-95-99
Frieden

diese Daten in der Tabelle2 sollen in Tabelle1 gelöscht werden.
Top
#5
Hallo,

ich habe meinen Code in deiner Datei getestet. Es funktioniert.
Gruß Stefan
Win 10 / Office 2016
Top
#6
(27.08.2015, 19:36)Steffl schrieb: Hallo,

ich habe meinen Code in deiner Datei getestet. Es funktioniert.

Hallo Stefan, 
Danke dir. Werde morgen es gleich testen
Top
#7
Hallo

leider geht es nicht. Ich habe deinen Code auf Tabelle6 umgeändert und das er die in der WH25 Spalte 2 löscht.
Leider ohne Erfolg. Was mach ich falsch?
Anschließend will ich das der Code das Tabellenblatt Löschungen auch in der WH 25 löscht.
Dazu stelle ich den Code einfach um oder?


Dateiupload bitte im Forum! So geht es: Klick mich!
Top
#8
Hallo,

die Begriffe sind also mehrfach in der Tabelle WH25 vorhanden? Wenn ja, versuchs mal so

Code:
Sub prcLoeschen()
   Dim rngTreffer As Range, rngBereich As Range
   Dim lngC As Long
   Dim strAdresse As String

   'Tabellennamen bitte anpassen, Werte werden aus der Tabelle2 ab Zeile 2 genommen und falls vorhanden in der Tabelle1 gelöscht.
   With Worksheets("Tabelle6")
      For lngC = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
         Set rngTreffer = Worksheets("WH25").Columns(2).Find(.Cells(lngC, 1).Value, LookIn:=xlValues, lookat:=xlWhole)
         If Not rngTreffer Is Nothing Then
            strAdresse = rngTreffer.Address
            Set rngBereich = rngTreffer
            Do
               Set rngBereich = Union(rngBereich, rngTreffer)
               Set rngTreffer = Worksheets("WH25").Columns(2).FindNext(rngTreffer)
            Loop While rngTreffer.Address <> strAdresse
            rngBereich.EntireRow.Delete
            Set rngBereich = Nothing
         End If
      Next lngC
   End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Top
#9
(28.08.2015, 22:26)Steffl schrieb: die Begriffe sind also mehrfach in der Tabelle WH25 vorhanden? Wenn ja, versuchs mal so

Hallo Stefan, 

Besten Dank. 
Ja können öfters vorkommen .
Im test Blatt funktioniert es super. Werde Montag in der Arbeit  gleich probieren.
Besten Dank
Top
#10
Hallo Stefan.
Leider stürzt excel bei cca.20000 zeilen abSad

Bei 100 zeilen keine probleme.

Woran liegt das? 
Kannst du mir helfen
Top


Gehe zu:


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