die *.csv ins Excel einbinden

anulika

Grünschnabel
Hallo ihr lieben,

ich habe eine test.xlsm und die *test1.csv ...diese wird immer mit diesem code aufgerufen

Open DieseArbeitsmappe.Path & "\test1.csv" For Input As #Datei

jedoch will ich ... dass nur noch die test.xlsm gibt ..

ich hätte jetzt so gemacht dass ich die dateien von test1.csv in die tabelle2 einfüge ..
aber nicht weiß wie ich dann diese tabelle aufrufe zum öffnen...

meine aufgabe war, bei der test.xlsm wenn ich die herstellernr in a13:a50 eingebe .. soll zeilenweise immer der rest erscheinen, sei es die produktbeschreibung, preise ... etc.
Diese Daten hat er von der test.csv geholt .. also eben open und dann einlesen .. und dann ausgeben etc... :)

so .. das funktioniert auch alles :)

nur ich würd nur jezt zugern wissen wie das geht dass nur noch die test.xlsm gibt ..
habt ihr andere vorschläge? .. bin mit jeder hilfe dankbar !!:)

Liebe Grüße
anulika
 
Hi Anu,

ja das geht, sogar relativ einfach.

Einfach ein zusätzliches Tabellenblatt in deine xlsm einfügen, eventuell dem Tabellenblatt einen gescheiten Namen geben (Bsp. "Grunddaten")

Die ganze Sub Main aus unserer Korrespondenz kannst du dann auskommentieren.

Die Worksheet_Change dann ändern:

Die Variable "AnzahlZeilen" musst du halt vorher festlegen/ermitteln

Den Code aus Workbook_Open kannst du dann löschen. Du brauchst dann nur noch WorkSheet_Change

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Dim AktuelleZeile As Long

    AktuelleZeile = Target.Row
    
    If Target.Column = 1 Then
        
        For i = 1 To AnzahlZeilen
            
            If UCase(CStr(Worksheets("Grunddaten").Cells(i,1))) = UCase(CStr(Target.Value)) Then
                
                Worksheets(1).Cells(AktuelleZeile, 2) = Worksheets("Grunddaten").Cells(i,2)
                Worksheets(1).Cells(AktuelleZeile, 3) = Worksheets("Grunddaten").Cells(i,3)
                Worksheets(1).Cells(AktuelleZeile, 4) = Worksheets("Grunddaten").Cells(i,4)
            
                Exit For
                
            End If
            
        Next
    
    End If
    
End Sub
 
Zurück