Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1648to1652
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
CSV Zellen Import auf andere Tabelle
12.10.2018 11:39:16
Anna
Hallo,
ich kriege aus meinem ERP System eine Liste generiert, wie ihr in der Beispieltabelle sehen könnt (Nennen wir Sie Tabelle B)
In meiner "Haupttabelle"(Tabelle A), also eine andere Excel Datei, will ich, dass wenn in der Tabelle B, Spalte B ein "M" steht" dass es die Ressource (Spalte C) kopiert und in einem bestimmten Feld in Tabelle A einfügt. Es können aber auch mehr Zeilen als in diesem Beispiel sein.
Also nochmal:
-Mitarbeiter generiert die Excel Liste aus dem Auftrag
-Soll per Makro Spalte B durchsuchen ob da ein "M" steht und wenn ja die Ressource kopieren
-Die Kopierten Einträge sollen in einer anderen Tabelle, von wo auch das Makro ausgeführt wird, in Spalte A einfügen.
https://www.herber.de/bbs/user/124587.xlsx
Ich bin jedem Dankbar :)

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV Zellen Import auf andere Tabelle
13.10.2018 10:27:54
fcs
Hallo Anna,
hier eine Text-Datei mit einem entsprechenden Makro.
https://www.herber.de/bbs/user/124595.txt
Die Hauptarbeit am Makro ist hier nicht das Übertragen der Werte sondern die Auswahl der Datei mit der ERP-Liste. Das Makro deckt 2 Fälle ab:
1. Datei ist schon geöffnet
2. Datei ist noch nicht geöffnet
Wenn die Vorgehensweise immer einer der beiden Varianten entspricht, dann kann man das Makro noch etwas vereinfachen.
Das Makro fügt unterhalb der letzten Zelle mit Inhalt in Spalte A die gefundenen Werte ein.
LG
Franz
Anzeige
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 08:24:43
Anna
Hallo,
Vielen Vielen Dank für die Mühe, nur leider kommt immer eine Fehlermeldung, obwohl die Excel Mappe vom ERP System offen ist. Und beim Abbrechen kommt der Debugger.
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 08:40:20
Anna
Ich glaube ich weiß wo der Fehler liegt:
Das ERP System generiert die Excel Liste als "Mappe1". Deshalb ist die Zahleneingabe so nicht sinnvoll. Zudem kommen Fehler wenn man es importiert aus der Datei herraus
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 10:52:40
fcs
Hallo Anna,
der Fehler liegt am Ende des Makros.
Da fehlte 2 mal ein "Set", da es sich bei den Variablen um Objekt-Variablen handelt.
Das mit der Nummer bei der Auswahl der Datei mit der ERP-Liste funktioniert schon.
Intern setzt das Makro die Nummer ja wieder in den Namen um.
Ich hab das Makro jetzt eingekürzt auf den Fall, dass die Datei mit der ERP-Liste immer geöffnet ist.
So wird direkt die Input-Box zur Auswahl der Datei angezeigt.
LG
Franz

'Erstellt unter Office 365 - Excel Version 1809 / Windows 10
Sub Import_Resource_from_ERP_FIle()
Dim wkbQuelle As Workbook, wksQuelle As Worksheet, arrDatei()
Dim wksZiel As Worksheet
Dim Zeile_Z As Long, Zeile_Q As Long, StatusCalc As Long
Dim varInput, rngTest As Range
Dim sMsgTitel$, sMsgText$
sMsgTitel = "Resourcen aus ERP-Liste einlesen"
'Zieltabelle setzen
Set wksZiel = ThisWorkbook.Worksheets(1)
'letzte ausgefüllte Zeile in Spalte A der Zieltabelle ermitteln
With wksZiel
Zeile_Z = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
'Arrbeitsmappe mit ERP-Liste auswählen
' Datei mit ERP-Liste ist schon geöffnet
sMsgText = "Bitte Nummer der Datei auswählen"
'Namen der geöffneten Dateien in Array sammeln und für InputBox zusammenstellen
varInput = 0
For Each wkbQuelle In Application.Workbooks
If wkbQuelle.Windows(1).Visible = True _
And Not wkbQuelle.Name = ThisWorkbook.Name Then
varInput = varInput + 1
sMsgText = sMsgText & vbLf & varInput & " - " & wkbQuelle.Name
ReDim arrDatei(1 To varInput)
arrDatei(varInput) = wkbQuelle.Name
End If
Next
If varInput = 0 Then
sMsgText = "Es ist keine weitere Datei geöffnet!" & vbLf _
& "Dateiauswahl-Dialog anzeigen?"
MsgBox sMsgText, vbOKOnly, sMsgTitel
Else
'Inputbox zum Auswählen anzeigen
varInput = Application.InputBox(sMsgText, sMsgTitel, 1, Type:=1)
Select Case varInput
Case 0 'Abbrechen
Case 1 To UBound(arrDatei)
Set wkbQuelle = Application.Workbooks(arrDatei(varInput))
Case Else 'falsche Auswahl
End Select
End If
'Daten aus ERP-Liste übertragen
If Not wkbQuelle Is Nothing Then
'Makrobremsen lösen
With Application
.ScreenUpdating = False
StatusCalc = .Calculation 'Berechnungsmodus merken
.Calculation = xlCalculationManual
'            .EnableEvents = False 'falls Ereignismakros blockiert werden sollen
End With
Set wksQuelle = wkbQuelle.Sheets(1)
With wksQuelle
'prüfen, ob Tabellenblatt in Spalte C Wort "Ressource" enthält.
varInput = "Ressource"
Set rngTest = .Range("C:C").Find(What:=varInput, LookIn:=xlValues, _
lookat:=xlWhole)
If rngTest Is Nothing Then
Application.ScreenUpdating = True
sMsgText = "Die ausgewählte Datei enthält in Spalte C von Blatt """ _
& .Name & """ nicht das Wort """ & varInput & """!"
MsgBox sMsgText, vbOKOnly + vbInformation, sMsgTitel
Else
'Werte aus ERP-Liste in Zielblatt übertragen
For Zeile_Q = 2 To .Cells(.Rows.Count, 3).End(xlUp).Row
If .Cells(Zeile_Q, 2).Value = "M" Then
Zeile_Z = Zeile_Z + 1
'Hochkomma in nächster Zeile stellt sicher, dass Inhalte _
aus Ziffern mit Punkt korrekt übertragen werden.
wksZiel.Cells(Zeile_Z, 1) = "'" & .Cells(Zeile_Q, 3).Text
End If
Next
End If
End With
'Makrobremsen zurücksetzen
With Application
.ScreenUpdating = True
.Calculation = StatusCalc
.EnableEvents = True
End With
End If
Erase arrDatei
Set wkbQuelle = Nothing: Set wksQuelle = Nothing: Set wksZiel = Nothing
Set rngTest = Nothing
End Sub

Anzeige
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 11:07:13
Anna
Hi, danke für deine Mühe, aber dein Code sagt, dass keine Datei geöffnet ist, obwohl dies nicht stimmt :)
Also ich generiere die Excel Datei des ERP Systems, diese wird geöffnet gleich unter dem Namen "Mappe1". Und diese wird nicht gelesen.
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 11:10:44
Anna
So nun habe ich rausgefunden, sobald ich die Datei speichere und dann wieder öffne klappt alles wunderbar. Woran kann das liegen?
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 14:40:40
fcs
Hallo Anna,
wahrscheinlich erstellt das ERP-System für den Listen-Export eine weitere Excel-Instanz.
Wenn du die Zieldatei mit dem Makro vorher schon geöffnet hast, dann wissen diese beiden Instanzen nichts von einander.
Weitere Alternative zum Speichern:
Öffne die Zieldatei in dem Fenster in dem "Mappe1" angezeigt wird.
LG
Franz
Anzeige
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 14:52:58
Anna
Weitere Alternative zum Speichern:
Öffne die Zieldatei in dem Fenster in dem "Mappe1" angezeigt wird.

wie meinst du das?
AW: CSV Zellen Import auf andere Tabelle
15.10.2018 16:32:54
fcs
Hallo Anna,
ich kenne ja nicht den Ablauf bei deiner Arbeit.
Wird der ERP-Export von deiner Excel-Datei aus gestartet in der die Ressourcen gesammelt werden?
Wenn Ja, dann muss du mit dem Speichern und erneuten öffnen leben.
Wenn NEIN, dann lasse deine Excel-Datei geschlossen.
Nachdem der Export vom ERP-Programm generiert wurde, dann wechsle zum Fenster mit "mappe1" und öffne deine Exceldatei. Dann sollte der Import aus Mappe1 direkt funktionieren.
LG
Franz
Anzeige
AW: CSV Zellen Import auf andere Tabelle
16.10.2018 08:36:16
Anna
ok, dann bleibt nichts mehr übrig, aber trozdem herzlichen Dank für die viele Mühe.

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige