Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1168to1172
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

2 Mappen, 2 Tabellen, suchen und kopieren

2 Mappen, 2 Tabellen, suchen und kopieren
Bernhard
Hallo zusammen,
ich habe ein Problem. Ich versuche in Datei 1 (ThisFileName), Tabelle 1("NewBOM") einen bestimmten Inhalt einer Spalte zu suchen, und bei jedem gefundenen Eintrag, die gesamt Zeile in Dateie 2(NewFileName) Tabelle 1 ("New BOM") zu kopieren. Mappen heißen unterschiedlich, die Ziel und Quellmappen jeweils gleich.
Danach möchte ich das Gleiche mit Tabelle 2 ("OldBOM") durchführen (suchen in Datei1(ThisFileName), kopieren in Datei2(NewFileName))
Ich übergebe Suchstring, Namen von Quell- und Zieldatei, Namen der jeweiligen Tabelle in ein private Sub. Hier der Source Code.
Private Sub ExtractData(ThisFileName As String, NewFileName As String, _
SearchString As String, Table As String)
Dim lRow As Long
Dim lRowL As Long
Dim lRowT As Long
With Worksheets(Table)
lRowL = Cells(Rows.Count, 79).End(xlUp).Row
lRowT = 1
For lRow = 2 To lRowL
If (Cells(lRow, 79).Value = "Change!") Then
lRowT = lRowT + 1
Workbooks(NewFileName).Worksheets(Table).Rows(lRowT).Value = Rows(lRow).Value
End If
Next lRow
End With
End Sub
Ausruf Private sub
'extract data from "New BOM"
ExtractData ThisFileName, NewFileName, SearchString, "New BOM"
' extract data from "Old BOM"
ExtractData ThisFileName, NewFileName, SearchString, "Old BOM"
Das Programm läuft soweit, der erste Aufruf ergibt das gewünscht Ergebnis, jedoch beim zweiten Aufruf, wird wieder nur die "NewBOM" ausgelesen und kopiert. Der Wechsel zur Queldatei und "OldBOM" klappt nicht.
Danke für Eure Unterstützung
Bernhard
AW: 2 Mappen, 2 Tabellen, suchen und kopieren
01.08.2010 08:22:35
Hajo_Zi
Hallo Bernhard,
Du schreibst erst die Dateien haben unterschiedliche Namen dann aber:
heißen ...,die Ziel und Quellmappen jeweils gleich.

Also in einer Sitrzung bekomme ich nicht 2 Dateien auf die gleiche Namen haben. Das geht nur in unterschiedlichen Sitzungen. Da bkommst Du aber keine Daten übertragen.

AW: 2 Mappen, 2 Tabellen, suchen und kopieren
01.08.2010 11:41:13
Bernhard
Hallo,
ja Du hast recht, man sollte seinen Text vor der Veröffentlichung sorgfältig durchlesen.
Die Dateinamen = Mappen werden unter den Variablennamen ThisFileName (Quelle) und NewFileName (Ziel) gespeichert. Die Namen sind unterschiedlich. Gleich ist aber deren Aufbau, jeweils 2 Tabellen "NewBOM" und "OldBOM".
Nun will ich in "Quelle-NewBOM" suchen wie oben beschrieben und die gefundenen Zeilen in "Ziel-NewBOM" kopieren. Das gleiche dann wieder für "OldBOM".
Im Hauptprogramm laufen noch diverse UpdateRoutinen.
Dort wird das Unterprogramm ExtractData aufgerufen, wobei anscheinend die Übergabe des Sheets nicht funktioniert. wahrscheinlich ändert er die Tabelle nicht, sondern verwendet die, die halt im Hauptprogramm gerade aktiv ist.
Und so sucht er in Quelle-NewBOM und kopiert dann inZiel- NewBOM, beim zweiten Aufruf sucht er wieder in Quelle-NewBOM, kopiert aber korrekterweise in Ziel-OldBOM
Danke für die Hilfe
Bernhard
Anzeige
AW: 2 Mappen, 2 Tabellen, suchen und kopieren
01.08.2010 11:45:11
Hajo_Zi
Haloo Bernhard,
ich kann das nicht nachbauen.
Vielleicht reicht es wen du bei With Workshetts noch Workbooks(Workbooks(NewFileName). davor schreibst.
Gruß Hajo
AW: 2 Mappen, 2 Tabellen, suchen und kopieren
01.08.2010 11:47:18
Josef

Hallo Bernhard,
du musst halt sauber referenzieren.

Private Sub ExtractData(ThisFileName As String, NewFileName As String, _
    SearchString As String, Table As String)

  
  Dim lRow As Long
  Dim lRowL As Long
  Dim lRowT As Long
  
  With Workbooks(ThisFileName).Sheets(Table)
    lRowL = .Cells(.Rows.Count, 79).End(xlUp).Row
    lRowT = 1
    For lRow = 2 To lRowL
      If .Cells(lRow, 79) = "Change!" Then
        lRowT = lRowT + 1
        Workbooks(NewFileName).Worksheets(Table).Rows(lRowT) = .Rows(lRow)
      End If
    Next lRow
  End With
  
End Sub


Gruß Sepp

Anzeige
AW: 2 Mappen, 2 Tabellen, suchen und kopieren
01.08.2010 17:46:08
Bernhard
Hajo, Sepp,
danke für Eure Hilfe. Leider hat sie nicht funktioniert.
Ich habe noch versucht, die private sub komplett rauszuschmeißen und im Hauptprogarmm die beiden Durchgänge zu starten, aber auch das hat nicht funktioniert, gleiches Ergebnis. Dann habe ich die Variablen Datei und Tabellennamen eliminiert und die Namen hard-coded verwendet. Auch das klappte bei der Routine nicht.
Habt Ihr eine Beispiellösung für 2 Dateien und 2 Tabellen, für mein Problem?
Ich würde das dann gerne bei mir laufen lassen und einfach mal schauen, ob das funktioniert.
Danke für Eure Unterstützung.
Bernhard
Anzeige
AW: 2 Mappen, 2 Tabellen, suchen und kopieren
01.08.2010 17:59:43
Josef

Hallo Bernhard,
liegt's vielleicht daran, das du zwar 'SearchString' als Parameter verwendest, im Code den begriff aber hart angibst.
Teste mal.
https://www.herber.de/bbs/user/70845.zip

Gruß Sepp

AW: 2 Mappen, 2 Tabellen, suchen und kopieren
01.08.2010 19:40:45
Bernhard
Sepp,
danke für Deinen unbewußten aber entscheidenen Hinweis in Deiner Vorlage.
Ich hatte als aller erstes einen Button in der NewBOM Tabelle erzeugt, und dann draufgeklickt. Schon startet der VBA Editor und der Source code kann folgen. So stand der Code unter NewBOM und ein Wechsel in eine andere Tabelle war nicht möglich.
Ich habe den Code nun in einem Modul verwendet und schon funktioniert alles.
Dummer Fehler.
Danke.
Bernhard
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige