WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   VBA Excel (http://www.wcm.at/forum/showthread.php?t=185017)

harry3 08.02.2006 20:50

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

testi 08.02.2006 21:37

Also bei mir funktionierts mit beiden Varianten.
Schau nochmal nach, ob Du Dich nicht irgendwo verschrieben hast.

Setzte einen Haltepunkt bei "pfad = Range("A3") 'pfad aus excelsheet geladen"
und mach Einzelschritte (mit F8)
Dabei schau Dir an welchen Wert die Var pfad hat.

String Add?
Meinst Du so "text1" & "text2" ergibt "text1text2"

merkur7 10.02.2006 03:00

Probiers mal hiermit

Sheets("meinSheet").Select
Range("A3").Select

pfad = Selection.Value

oder


pfad = Range("A3").value

harry3 14.02.2006 19:56

Danke für Eure Antworten!

Zuerst aber noch eine andere Frage: Manchmal verschwindet bei einer Scrollbar einfach der Schieber, da sowohl Min als auch Max den Wert 0 haben. Auch das neusetzen über VBA mittels .Min=0 und .Max=1 bringt nichts, der Schieber bleibt verschwunden.
Nur das manuelle ändern unter Eigenschaften bringt Besserung.
Irgendwelche Tipps oder Tricks zur Vermeidung dieses Fehlers!?
http://free.pages.at/harry3/scrollbar.JPG


Achja, sollte es wen interessieren:

Das ist meine Lösung für mein Dateiproblem:
PHP-Code:

//Pfadangabe zumsammenbauen mittels &
Pfad "TEXT;" Range("G1").Value Range("G2").Value

//prüfen ob datei vorhanden
On Error Resume Next
dateifehler 
Dir(Range("G1").Value Range("G2").Value) <> ""
dateifehler dateifehler And Err 0
dateifehler 
Not dateifehler
//und erst wenn dateifehler=FALSE importiere ich die Daten
If (dateifehler TrueThen
    MsgBox 
("Dateifehler: Dateiname und Dateipfad überprüfen")

Else
    
//Datei laden und nach Cells(zeilen, spalten) kopieren
    
With ActiveSheet.QueryTables.Add(Connection:=PfadDestination:=Range("S1"))
    
//überprüfen ob datei vorhanden
        
.Refresh
    End With
//usw.... 


Grüße,
Harri


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag