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

Auswertung importierter CSV Datei

Auswertung importierter CSV Datei
17.07.2017 16:00:55
Kaiser
Hallo,
wäre für folgende Aufgabenstellung dankbar für Eure Hilfe.
Ich habe ein sehr komplexes Kalkulationstool erstellt, mit dem ich Dienstleistungs-/Materialkosten kalkulieren kann/will.
Aus einem anderen Tool wird mir eine CSV-Datei zur Verfügung gestellt, die eine Artikelliste enthält, die ich in mein Tool auf ein separates Tabellenblatt per VBA importiere. Das klappt schonmal prima.
Nun will ich im nächsten Schritt die Artikelnummern aus dem Tabellenblatt mit den importierten Daten (Spalte A) auslesen und in meine existierende Eingabemaske (Spalte D) übernehmen.
Die importierte Liste beinhaltet zwischen 8 und 12 Artikel, die Eingabemaske umfasst jedoch mehrere hundert Möglichkeiten.
Mit sverweis wäre das alles kein Thema, aber wie kann ich das per VBA lösen?
Schonmal vielen Dank für Eure Hilfe.
Gruss
Harald

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswertung importierter CSV Datei
17.07.2017 16:42:33
onur
Poste doch mal die Datei (oder ein Muster) inkl. csv-Datei.
AW: Auswertung importierter CSV Datei
18.07.2017 08:25:17
Kaiser
Hallo onur,
ich habe mal die Punkte aus dem Original in eine separate Datei reduziert.
Der Punkt ist, dass im Blatt "CSV_Import" Artikelnummern mit Stückzahlen importiert werden (Spalte A mit Artikelnmummern, Spalte B mit Stückzahl), die dann per Makro in das Tabellenblatt "Eingabe" übertragen werden sollen. Der Abgleich soll also in "Eingabe" in Spalte C erfolgen und die Stückzahl in F eingetragen werden.
Ich hoffe, dass dies als Info ausreicht? ;-)
https://www.herber.de/bbs/user/114929.xlsx
Vielen Dank schonmal für jede weitere Hilfe.
Grüsse
Harald
Anzeige
AW: Auswertung importierter CSV Datei
18.07.2017 13:12:47
Kaiser
Hallo Werner,
das funktioniert perfekt! Schreibe mir das passend in meine Datei und lege damit los.
Vielen herzlichen Dank dafür :-)
Grüsse
Harald
Gerne u. Danke für die Rückmeldung. o.w.T.
18.07.2017 13:31:45
Werner
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
18.07.2017 15:56:58
Kaiser
Hallo Werner,
komme da nun leider doch nicht weiter :-(
Der Ablauf des Makros an sich ist mir klar, jedoch bekomme ich es nicht hin, das in meine Datei einzubinden. Wahrscheinlich eine Kleinigkeit, die ich mit meinen Anfänger-Kenntnissen noch nicht überblicke.
Das Problem ist schlicht, dass die Auswertung der Artikelliste exakt im Bereich Zeile 129 - Zeile 460 erfolgen muss. Davor und dahinter stehen weitere Daten und Eingaben, die natürlich nicht zur Auswertung heran gezogen und auch nicht überschrieben werden dürfen. Eine Idee, wie man die Range korrekt zuordnen muss?
Vielen Dank nochmal für die klasse Unterstützung.
Gruss
Harald
Anzeige
Nachfrage.
18.07.2017 16:03:38
Werner
Hallo Harald,
was meinst du jetzt genau, dass der SVERWEIS auf dem Blatt CSV_Import im Bereich A129 bis B460 suchen soll?
Gruß Werner
AW: Nachfrage.
18.07.2017 16:06:32
Kaiser
Hallo,
nein, sorry, hab mich da wohl unglücklich ausgedrückt.
Das Blatt CSV-Import ist und bleibt so. Die Übertragung von CSV-Import erfolgt im Blatt Eingabe im Bereich A129-A460.
Vielen Dank
Harald
AW: Nachfrage.
18.07.2017 16:08:58
Werner
Hallo Harald,
und wo stehen dann im Blatt Einbabe deine Artikelnummern? Am besten eine geänderte Beispielmappe, die im Aufbau dem Original entspricht.
Gruß Werner
AW: Nachfrage.
18.07.2017 16:15:28
Kaiser
Hallo Werner,
anbei die modifizierte Beispieldatei.
https://www.herber.de/bbs/user/114938.xlsx
Die Artikelnummern stehen im Blatt Eingabe in den Zeilen 129-460, das Blatt CSV-Import ist unverändert.
Vielen vielen Dank
Harald
Anzeige
AW: Nachfrage.
18.07.2017 17:50:41
Werner
Hallo Harald,
versuch mal das:
Public Sub Übertragen()
Dim loLetzte As Long
Dim raBereich As Range
With Worksheets("Eingabe")
'## letzte belegte Zelle in Spalte A ermitteln
'## von A127 nach unten
loLetzte = Range("A461").End(xlUp).Row
'## Prüfung ob im Blatt Eingabe ab Zeile 129
'## Daten vorhanden sind
If loLetzte = 127 Then
MsgBox "Es sind ab A129 keine Daten vorhanden", , "Hinweis für " & Application.UserName
Exit Sub
End If
'## Bereich definieren Zelle 4,6 (=F4) bis letzte belegte in Spalte F
Set raBereich = .Range(.Cells(129, 6), .Cells(loLetzte, 6))
'## SVERWEIS-Formel in diesen Bereich schreiben
raBereich.FormulaLocal = "=WENNFEHLER(SVERWEIS(C129;CSV_Import!A:B;2;FALSCH);""nicht  _
vorhanden"")"
'## Formel durch Werte ersetzen
raBereich.Value = raBereich.Value
End With
'## Variable zurücksetzen
Set raBereich = Nothing
End Sub
Du darfst aber im Zellbereich von Zeile 1 bis Zeile 460 keine Zeilen löschen oder einfügen, sonst stimmt die ganze Zuordnung nicht mehr. Umterhalb von Zeile 460 ist es egal.
Im Code ermittle ich jetzt die letzte belegte Zeile in Spalte A ab Zelle A127 nach unten. Das funktioniert aber nur, wenn die Zelle A161 nicht belegt ist.
Gruß Werner
Anzeige
AW: Nachfrage.
19.07.2017 08:20:42
Kaiser
Hallo Werner,
das funktioniert jetzt prima!
Vielen Dank für Deine Hilfe
Grüsse
Harald
Gerne u. Danke für die Rückmeldung. o.w.T.
19.07.2017 08:45:56
Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige