Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Aus einer CSV-Datei ein bestimmtes Layout erzeugen mit Datenauswertung
#11
Hallo Lieber Gast 123

Hmm, schade - gut wieder was von dir zu hören.

Ich gebe dir recht. Danke für den Hinweis. Siehe Foto im Anhang (was ich mit 2. Zeile meine)

Mit Hilfsspalten weis ich nicht genau was du meinst, erkläre es noch mal wenn du Zeit hast bitte :)


Du hast übrigens ein Mail von mir bekommen (vielleicht hast du es gesehen?)


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#12
Hallo Daniel

habe gerade mal wieder Internet, muss mir die Sache noch ansehen. Melde mich wieder ... 

mfg  Gast 123
Antworten Top
#13
Hallo Daniel

es ist mir gelungen mit ein paar kleinen Änderungen den  Code von snb  auf meiner Beispiel Datei ans Laufen zu bringen.
Weil er technisch eindeutig besser ist stelle ich ihn gerne ins Forum und bedanke mich herzlich bei snb für sein Hilfe!

Wenn du in Spalte F noch die Gesamtsumme von C-E brauchst ist das auch kein Problem.

Offen bleibt, wie wir regeln das Touren die Out sind nicht mehr aufgelistet werden? Daten wo das Datum verfallen ist könnte man rauszufiltern. 
Ich warte mal ab was dir als Lösung dazu einfaellt. 

mfg  Gast 123


Angehängte Dateien
.xlsm   Beispiel Layout snb.xlsm (Größe: 21,38 KB / Downloads: 4)
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • danielhuszka
Antworten Top
#14
Hallo Lieber Gast 123

Danke für die ausführlichen Antworten und für die Hilfe! 

Leider konnte ich dieser Datei immer noch nicht testen..da ich eine Problem, der VBA Code lauft nicht, da verschiedene Fehlmeldung kommt (Laufzeitfehler 13 - Typen unverträglich).
nämlich da:

sp = Array(st(0), st(2), IIf(st(4) = "518", st(17), ""), IIf(st(4) = "501", st(17), ""), IIf(InStr("501518", st(4)), 0, 1 * st(17)))

Gesamtcode:

'Code von snb für Layout

Sub M_snb()
Dim Datei As String
'   Open "D:\Spielwiese DaHu_4496.csv" For Input As #1
    'CSV Dateiname aus Zelle G1 laden  (ohne Endung!)
    Datei = Worksheets(ZielTab).Range("H1") & ".CSV"
    
    '** hier bitte dein Laufwerk, Ordner und gültige CSV Datei angeben
    Open "D:\Spielwiese DaHu_4496.csv" For Input As #1
     sn = Split(Input(LOF(1), #1), vbCrLf)
    Close
    
    With CreateObject("scripting.dictionary")
       For j = 2 To UBound(sn) - 1
         st = Split(sn(j), ";")
         c00 = st(0) & "_" & st(2)
         
         sp = Array(st(0), st(2), IIf(st(4) = "518", st(17), ""), IIf(st(4) = "501", st(17), ""), IIf(InStr("501518", st(4)), 0, 1 * st(17)))
         If .exists(c00) Then
             sp = .Item(c00)
             If st(4) = 518 Then
               sp(2) = st(17)
             ElseIf st(4) = 501 Then
               sp(3) = st(17)
             Else
                sp(4) = sp(4) + st(17)
            End If
          End If
          
         .Item(c00) = sp
       Next
       
'       Sheet1.Cells(1).Resize(.Count, 5) = Application.Index(.items, 0, 0)
      Worksheets(ZielTab).UsedRange.Offset(1, 0).ClearContents
      Worksheets(ZielTab).Cells(2, 1).Resize(.Count, 5) = Application.Index(.items, 0, 0)
      'überflüssige Nullen in Spalte E löschen
      Worksheets(ZielTab).Columns(5).Replace 0, "", xlWhole
    End With
End Sub



Wo liegen die Problemen?

Erst wenn ich dies ausgetestet habe kann ich Antwort geben auf deine Frage. 

Besten Dank und einen schönen Nachmittag
Antworten Top
#15
Hallo Daniel

da bin ich sehr verblüfft, und im Augenblick auch ratlos. In meinem Beispiel funktionierte es einwandfrei mit der Datei:  Spielwiese DaHu_4496.csv

Hast du zum Testen eine andere CSV Datei, oder kann das Makro deine Datei vielleicht nicht öffnen???
Was passiert wenn du es einmal aenderst:   For j = LBound(sn) To UBound(sn) - 1

Leider verstehe ich zu wenig von seinem Code um hier genau zu wissen woran das liegen kann ....???
Wenn es gar nicht klappt bitte deine Dateien als Beispiel hochladen, das ich sie bei mir noch mal testen kann.
Vielleicht weiss snb woran es liegt und hilft uns mit seinem Rat weiter.

mfg  Gast 123
Antworten Top
#16
Auch Hallo,

@Gast 123

(16.09.2019, 15:49)Gast 123 schrieb: Hast du zum Testen eine andere CSV Datei, oder kann das Makro deine Datei vielleicht nicht öffnen???
Was passiert wenn du es einmal aenderst:   For j = LBound(sn) To UBound(sn) - 1

da dürfte die Fehlermeldung genauso kommen.

@danielhuszka

öffne das Direkfenster (STRG + G), starte das Makro und wenn die Fehlermeldung kommt, gebe im Direktfenster

?st(17)

ein und drücke Return. Was wird dir zurückgegeben? Wahrscheinlich ein Text.
Erklärung zum Direktfenster: https://www.online-excel.de/excel/singsel_vba.php?f=105
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#17
Hallo Gast 123 und Steffl



Danke für eure Aufmerksamkeit - Super Leute seid ihr, ich schätze es sehr!

@Gast 123: Ich habe es abgeändert, geht wiederum nicht (kommt sogar eine andere Fehlercode raus - nämlich der Nummer 9). Keine Ahnung wo die Probleme liegen können. Hoffentlich kann snb weiterhelfen.

@Steffl: Ich habe es im Direktfenster eingegeben und folgendes angezeigt hat:
sp = Array(st(0), st(2), IIf(st(4) = "518", st(17), ""), IIf(st(4) = "501", st(17), ""), IIf(InStr("501518", st(4)), 0, 1 * st(17)))




Frage an euch:

Natürlich kann es auch sein, dass da irgendetwas von mir aus falsch eingegeben worden ist? Könnt ihr dies Mal überprüfen irgendwie?

SOLL:
1. Die CSV-Dateiname wird immer unter gleiche Dateiname abgespeichert (Spielwiese DaHu_4496.csv). 
Dies bedeutet folgendes: nach Ausführung die Makros ziehe ich die Daten aus die Datei "MGB_Layout_DaHu" und starte eine "neue Auswertung" mit andere Daten, aber mit die gleiche CSV-Dateiname (Spielwiese DaHu_4496.csv).

2. Es wird immer im Laufwerk D: gespeichert (keine Ordner - nichts spezielles)

Die aktuelle Dateien im Anhang!

Hoffentlich finden wir da gemeinsam eine Lösung
Einen schönen Tag

Mfg, Daniel


Angehängte Dateien
.xlsm   MGB_Layout_DaHu.xlsm (Größe: 21,38 KB / Downloads: 2)
.csv   Spielwiese DaHu_4496.CSV (Größe: 29,46 KB / Downloads: 2)
Antworten Top
#18
Hallo Daniel,

in der Datei Spielwiese DaHu_4496.csv ist die Zelle R223 leer und darum funktioniert die Multiplikation nicht. Was übrigens für viele weitere Zellen in der Spalte R gilt. Ob das so richtig ist kannst nur du beurteilen.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#19
Dann reicht schon:


PHP-Code:
If st(17) = "" Then st(17) = 0
sp 
= Array(st(0), st(2), IIf(st(4) = "518"st(17), ""), IIf(st(4) = "501"st(17), ""), IIf(InStr("501518"st(4)), 0st(17))) 
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#20
Hallo snb

Wo ist nun den Fehler wieder? siehe Foto.


Danke für deine Antwort.


Angehängte Dateien Thumbnail(s)
   
Antworten Top


Gehe zu:


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