Import per Makro von csv Datei!?

Ide

Level-1
Beiträge
176
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich habe absolut null Ahnung von dem Makrogedeh, das mal vorweg :)

Ich möchte gerne Messwerte die ich auf einen USB-Stick schreibe mit Exel auswerten.

Dafür ich hätte gerne dass wenn ich auf eine Grafik in Tabelle1 klicke, automatisch das "Öffnenfenster" erscheint und ich dort meine .csv Datei auswählen kann. Die csv ist per Semikolon getrennt. Die Datei soll dann in der Tabelle2 "eingefügt" werden, da ich mit Tabelle1 auf diese zugreife.

Wäre nett wenn ihr mir helfen könntet! Weil ich bekomme das mal nicht hin.

Ach es sind maximal drei Datensätze (falls das wichtig ist).
 
was ist dir solch ein makro wert? soll die csv-datei zeilenweiße eingelesen werden und spatlenweiße getrennt durch semikolon, oder willst du nen sortieralgorithmus, definiere bitte mal die gewünschte funktion

mit wert meine ich keine finanzen sondern wie wichtig dir das ist, wg aufwand den man hätte
 
Hallo,
das geht eigentlich recht einfach, aber da VBA auch in einer deutschen Excel-Version das Komma als Trennzeichen vorsieht muss man das bei einem Semikolon händisch einlesen.
Ich habe mir mal irgendwoher folgende Zeilen zusammengesucht:
Code:
Sub ReadfromCSVSimple(fName As String, wsName As String, Optional FS As String = ";")
   Dim hfile As Integer ' Filehandle bzw. Dateinummer
   Dim i As Long ' Zähler über alle Zeilen
   Dim OneLine As String ' Eine Zeile als String
   Dim myArr As Variant ' eine Zeile in Felder getrennt
   Dim objSheet As Excel.Worksheet
   Set objSheet = Sheets(wsName)
   objSheet.Activate
  
   hfile = FreeFile
   Open fName For Input As #hfile
   While Not EOF(hfile)
      i = i + 1
      Line Input #hfile, OneLine
      myArr = Split(OneLine, FS)
      For j = 0 To UBound(myArr)
         objSheet.Cells(i, 1 + j).NumberFormat = "@"
         objSheet.Cells(i, 1 + j).Value = myArr(j)
      Next
   Wend
   Close #hfile
End Sub
Dann packst du einen Button auf deine andere Tabelle und schreibst dort im Code:
Code:
Private Sub CommandButton_Click()
    Dim datei As String
    Dim ws As String
    datei = Application.GetOpenFilename("CSV-Dateien (*.csv),*.csv")
    If datei = "Falsch" Then Exit Sub
    ws = "Tabelle2"
    Call ReadfromCSVSimple(datei, ws)
End Sub
 
Zuviel Werbung?
-> Hier kostenlos registrieren
was ist dir solch ein makro wert? ...
mit wert meine ich keine finanzen sondern wie wichtig dir das ist, wg aufwand den man hätte

Tja da ich jetzt in einem sehr jungen Unternehmen tätig bin, freu ich mich immer wenn ich kosten einsparen kann und so wenig wie möglich an Fremdfirmen vergeben muss.

@Thomas_v2.1:
Ich benutze OpenOffice und ich glaube das ich für sowas doch erstmal noch en anderen Rechner hinzu ziehen muss. Hab das Gefühl das taugt dafür nix...
 
Hast du es den schonmal benutzt?

Ja habe ich und ich habe auch nichts dagegen das zu verwenden. Frage mich woraus du das wohl schließt? Aber das war eine frühere Version und die war damals so räudig langsam, instabil und schlecht und nicht besonders gesund für MS-Office-Dokumente, daß ich davon dann Abstand genommen habe, da die halbe Welt nun einmal MS-Office-Dokumente verschickte und auch vollständige Dokumente zurückerwartete und nicht irgendwelche kastrierten Restdateien. Und wie das dann so ist, wenn man einmal auf die Nase gefallen ist, läßt man die Finger davon. Das soll aber nicht heißen, daß heutige Versionen schlecht sein müssen, aber soll ich deswegen mein Office-Paket wegschmeißen?

PS: Warum ich meine 1. Anmerkung gemacht habe? Weil Leute das lesen, sich über dein Problem Gedanken machen und dann feststellen, daß es völlig umsonst war, weil du nicht in der Lage warst, alle wichtigen Infos gleich zu erwähnen. Das ist halt einfach ineffektiv für alle Beteiligten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich werde ja wohl wissen womit ich die Messwerte auswerten möchte! Und das ist Excel. Ich habe lediglich Thomas gesagt das ich es statt mit OO (welches ich benutze) mal in Excel versuche. Der Kunde wird wohl auch nur Excel haben:idea:

Ausserdem war die Antwort überhaupt nicht böse gemeint (siehe Smilie). Aber wenn Herr Moderator sich angegriffen fühlt...:sm8:

Falls das jetzt hier so weiter gehen soll kannst du den Thread löschen.
 
Also ich werde ja wohl wissen womit ich die Messwerte auswerten möchte! Und das ist Excel. Ich habe lediglich Thomas gesagt das ich es statt mit OO (welches ich benutze) mal in Excel versuche. Der Kunde wird wohl auch nur Excel haben:idea:

Ausserdem war die Antwort überhaupt nicht böse gemeint (siehe Smilie). Aber wenn Herr Moderator sich angegriffen fühlt...:sm8:

Falls das jetzt hier so weiter gehen soll kannst du den Thread löschen.

1. Nun ist die Verwirrung perfekt!
2. Ich mich angegriffen fühlen? Warum das denn?
3. Warum löschen?
4. Kannst mir gerne den Buckel runterrutschen. :ROFLMAO:
 
1. Nun ist die Verwirrung perfekt!
2. Ich mich angegriffen fühlen? Warum das denn?
3. Warum löschen?
4. Kannst mir gerne den Buckel runterrutschen. :ROFLMAO:

1. Warum? Die VBA-Anwendung sollte doch genau so in Calc wie in Excel laufen oder?!
2. Man könnte es meinen nach deinem ersten Beitrag auf dieser Seite
3. Weil das hier alles andere als zum Thema beiträgt
4. Dann rutsch ich mal...:rolleyes:

Und was vierlagig damit zu tun hat kann verstehen wer will.
 
Zurück
Oben