Anzeige
Archiv - Navigation
1620to1624
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
VBA - Suchen & Ersetzen anhand bestimmten Wert
23.04.2018 15:53:00
Marco
Hallo Forumsmitglieder,
ich stehe leider vor einem Problem, dass ich nicht alleine gel?st bekomme und ersuche eure Hilfe!
Ich habe zwei Excel Tabellen mit Daten. Die erste Tabelle soll alle Daten anzeigen und gesperrt sein (das klappt). Die zweite Tabelle enth?lt Daten die nur f?r bestimmte Personengruppen durch einen Login angezeigt werden und bearbeitet werden k?nnen (das klappt auch und wird eingelesen).
Nun m?chte ich die bearbeitet Daten speichern indem ich in der ersten Spalte eine ID-Nummer habe, die sich mit der ID-Nummer im ersten Tabellenblatt deckt. Nun soll das VBA Programm Schritt f?r Schritt die ID-Nummern aus dem zweiten Blatt im ersten Tabellenblatt suchen und die gesamte Zeile ?berschreiben.
Ich habe folgendes in VBA programmiert (die ID entspricht den Spalten und ist im ersten Blatt um eins h?her wie im Zweiten - nur so habe ich es hinbekommen. Lieber w?re eine echte Suche und Abgleich). Bekomme jedoch den Fehler: Laufzeitfehler 438 - Objekt unterst?tzt Eigenschaft oder Methode nicht.
Leider verstehe ich nicht, was ich falsch gemacht habe, da VBA Anf?nger.
Der Command Button soll nur die Suchen und Ersetzen Funktion testen. Alles andere funktioniert und ist wo anders implementiert.
Private Sub CommandButton1_Click()
Dim letzteZeile As Long
Dim letzteZeile2 As Long
Dim i As Long
Dim Vergleich As Long
Dim Vergleich2 As Long
letzteZeile = Worksheets("Overview").Cells(Rows.Count, 1).End(xlUp).Row 'nennt letzte Zeile in  _
Tabelle 1
letzteZeile2 = Worksheets("Filter").Cells(Rows.Count, 1).End(xlUp).Row  'nennt letzte Zeile in  _
Tabelle 2
For i = 3 To letzteZeile2 'ab Zeile 3 werden alle gefilterten Elemente aus Tabelle 1 kopiert -  _
z.B. alle Werte von Abteilung A
Vergleich = Cells(i, 1).Value 'gibt Wert der Zeile aus Tabelle 2 aus
Vergleich2 = Vergleich + 1 'ID in Tabelle 1 um eins gr??er als in Tabelle 2
Worksheets("Filter").Range("A" & i & ":H" & i).Copy 'kopiert die Spalte
Worksheets("Overview").Range("A" & Vergleich2 & ":H" & Vergleich2).Paste 'soll Kopie f?r  _
die Spalte einf?gen - besser w?re eine echte Suchfunktion wo der Wert "Vergleich" auch verglichen wird.
Next i
End Sub

����������������������������������������������������������������������������������?ber eure Hilfe bin ich sehr dankbar.
Viele Gr??e ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Suchen & Ersetzen anhand bestimmten Wert
23.04.2018 20:06:15
Matthias
Moin!
Laut Hilfe solltest du die Zeile so schreiben
Worksheets("Overview").Paste Worksheets("Overview").Range("A" & Vergleich2 & ":H" & Vergleich2)

Alternativ kannst du es auch so schreiben
Worksheets("Filter").Range("A" & i & ":H" & i).Copy Worksheets("Overview").Range("A" & Vergleich2 & ":H" & Vergleich2)

VG
AW: VBA - Suchen & Ersetzen anhand bestimmten Wert
24.04.2018 10:34:19
Marco
Guten Morgen,
vielen Dank f?r deine schnelle Hilfe.
Die L?sung funktioniert! Klasse!
Gibt es eine sch?nere L?sung als eine for-Schleife zu nutzen?
Hier springt er ja f?r jede Zeile zwischen den Tabellen hin und her.
Beispiel:
1. Tabelle ID: 1,2,3,4,5,6,7,8,9,10
2. Tabelle ID gefiltert nach Abteilung: 1,4,7,9
Nur Zeilen mit der ID in Spalte A 1,4,7,9 ersetzen.
Anzeige
AW: VBA - Suchen & Ersetzen anhand bestimmten Wert
24.04.2018 21:40:02
Matthias
Moin!
Also man k?nnte auch die Quelldatei nach deinen IDs filtern und dann den verbliebenen Bereich kopieren und in die Datei einf?gen. Falls aber eine ID mal fehlt, werden die Werte ?berschrieben.
Altern. kann man auch den Quellbereich in eine Variable einlesen, den Ziel bereich Dito. Dann den Vergleich im Speicher vornehmen lassen und alles mit einmal zur?ckschreiben. Das w?rde zwar auch mit for SChleifen laufen, aber das zeileweise hin- und herspringen entf?llt. Dadurch wird das alles schneller.
VG
VBA - Suchen & Ersetzen anhand bestimmten Wert
23.04.2018 15:53:00
Marco
Hallo Forumsmitglieder,
ich stehe leider vor einem Problem, dass ich nicht alleine gel?st bekomme und ersuche eure Hilfe!
Ich habe zwei Excel Tabellen mit Daten. Die erste Tabelle soll alle Daten anzeigen und gesperrt sein (das klappt). Die zweite Tabelle enth?lt Daten die nur f?r bestimmte Personengruppen durch einen Login angezeigt werden und bearbeitet werden k?nnen (das klappt auch und wird eingelesen).
Nun m?chte ich die bearbeitet Daten speichern indem ich in der ersten Spalte eine ID-Nummer habe, die sich mit der ID-Nummer im ersten Tabellenblatt deckt. Nun soll das VBA Programm Schritt f?r Schritt die ID-Nummern aus dem zweiten Blatt im ersten Tabellenblatt suchen und die gesamte Zeile ?berschreiben.
Ich habe folgendes in VBA programmiert (die ID entspricht den Spalten und ist im ersten Blatt um eins h?her wie im Zweiten - nur so habe ich es hinbekommen. Lieber w?re eine echte Suche und Abgleich). Bekomme jedoch den Fehler: Laufzeitfehler 438 - Objekt unterst?tzt Eigenschaft oder Methode nicht.
Leider verstehe ich nicht, was ich falsch gemacht habe, da VBA Anf?nger.
Der Command Button soll nur die Suchen und Ersetzen Funktion testen. Alles andere funktioniert und ist wo anders implementiert.
Private Sub CommandButton1_Click()
Dim letzteZeile As Long
Dim letzteZeile2 As Long
Dim i As Long
Dim Vergleich As Long
Dim Vergleich2 As Long
letzteZeile = Worksheets("Overview").Cells(Rows.Count, 1).End(xlUp).Row 'nennt letzte Zeile in  _
Tabelle 1
letzteZeile2 = Worksheets("Filter").Cells(Rows.Count, 1).End(xlUp).Row  'nennt letzte Zeile in  _
Tabelle 2
For i = 3 To letzteZeile2 'ab Zeile 3 werden alle gefilterten Elemente aus Tabelle 1 kopiert -  _
z.B. alle Werte von Abteilung A
Vergleich = Cells(i, 1).Value 'gibt Wert der Zeile aus Tabelle 2 aus
Vergleich2 = Vergleich + 1 'ID in Tabelle 1 um eins gr??er als in Tabelle 2
Worksheets("Filter").Range("A" & i & ":H" & i).Copy 'kopiert die Spalte
Worksheets("Overview").Range("A" & Vergleich2 & ":H" & Vergleich2).Paste 'soll Kopie f?r  _
die Spalte einf?gen - besser w?re eine echte Suchfunktion wo der Wert "Vergleich" auch verglichen wird.
Next i
End Sub

����������������������������������������������������������������������������������?ber eure Hilfe bin ich sehr dankbar.
Viele Gr??e ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
Anzeige
AW: VBA - Suchen & Ersetzen anhand bestimmten Wert
23.04.2018 20:06:15
Matthias
Moin!
Laut Hilfe solltest du die Zeile so schreiben
Worksheets("Overview").Paste Worksheets("Overview").Range("A" & Vergleich2 & ":H" & Vergleich2)

Alternativ kannst du es auch so schreiben
Worksheets("Filter").Range("A" & i & ":H" & i).Copy Worksheets("Overview").Range("A" & Vergleich2 & ":H" & Vergleich2)

VG
AW: VBA - Suchen & Ersetzen anhand bestimmten Wert
24.04.2018 10:34:19
Marco
Guten Morgen,
vielen Dank f?r deine schnelle Hilfe.
Die L?sung funktioniert! Klasse!
Gibt es eine sch?nere L?sung als eine for-Schleife zu nutzen?
Hier springt er ja f?r jede Zeile zwischen den Tabellen hin und her.
Beispiel:
1. Tabelle ID: 1,2,3,4,5,6,7,8,9,10
2. Tabelle ID gefiltert nach Abteilung: 1,4,7,9
Nur Zeilen mit der ID in Spalte A 1,4,7,9 ersetzen.
Anzeige
AW: VBA - Suchen & Ersetzen anhand bestimmten Wert
24.04.2018 21:40:02
Matthias
Moin!
Also man k?nnte auch die Quelldatei nach deinen IDs filtern und dann den verbliebenen Bereich kopieren und in die Datei einf?gen. Falls aber eine ID mal fehlt, werden die Werte ?berschrieben.
Altern. kann man auch den Quellbereich in eine Variable einlesen, den Ziel bereich Dito. Dann den Vergleich im Speicher vornehmen lassen und alles mit einmal zur?ckschreiben. Das w?rde zwar auch mit for SChleifen laufen, aber das zeileweise hin- und herspringen entf?llt. Dadurch wird das alles schneller.
VG

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige