VBA Excel



  • Hallo!

    Ich muss für ein Schulprojekt ein Excel Makro mit VBA schreiben:
    Ich möchte eine Textdatei in die Tabelle importieren. Wenn ich den Pfad im Code angebe funktionierts ohne Probleme. Lade ich ihn hingegen von einem Excel Feld herein so funktionert es nicht.

    So funktionierts:

    pfad = "Text;A:\messung.BIN"
    
    With ActiveSheet.QueryTables.Add(Connection:=pfad, Destination:=Cells(1, 1))
    .Refresh
    End With
    

    Und so nicht:

    Dim pfad As String
    pfad = Range("A3") 'pfad aus excelsheet geladen
    
    With ActiveSheet.QueryTables.Add(Connection:=pfad, Destination:=Cells(1, 1))
    .Refresh
    End With
    

    Andere Frage: Gibts eine Funktion die ein String Add durchführt!?

    Grüße,
    Harri



  • Range("A3") ist kein String-Wert, sondern ein Objekt vom Typ "Range" - das enthält einen ganzen Packen an Methoden und Properties zur Bearbeitung der Arbeitsblatt-Zelle(n). Um den Inhalt der Zelle zu bekommen, benötigst du:

    pfad = Range("A3").Value
    

    harry3 schrieb:

    Andere Frage: Gibts eine Funktion die ein String Add durchführt!?

    Wie meinen? (wenn du String-Verkettung meinst - dafür gibt es den Operator &: "full_path = "C:\tmp\" & path")



  • Vielen Dank für die schnelle Hilfe, hat geklappt.

    3 Dinge habe ich bis jetzt nur so hingenommen, aber nicht wirklich verstanden:
    -Was ist die Bedeutung des := Zeichens?
    -Was bedeutet das Wort Set?
    -Wie kann ich ein Diagramm welches (intern) Diagramm 5 heißt umbenennen auf Diagramm 1?

    Grüße,
    Harri


Anmelden zum Antworten