Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Formel in VBA (Excel 2003) mit Pfad und Dateiname aus Variable?

Mitglied: schustec

schustec (Level 1) - Jetzt verbinden

14.11.2011 um 22:44 Uhr, 11193 Aufrufe, 5 Kommentare

Hallo,
ich habe ein Problem, bei dem ich nicht weiterkomme. Ich möchte per VBA eine Formel in eine Zelle schreiben, bei der der Dateipfad, der Dateiname und der Spaltenindex für Sverweis aus Variablen kommen sollen. Aber ich bekomme es mit den Anführungszeichen nicht hin.

Originalformel:
"=WENN(SVERWEIS($C$2;'D:\Test\[Testdatei.xls]Blatt1'!$A$2:$C$70;3;FALSCH)="";0;SVERWEIS($C$2;'D:\Test\[Testdatei.xls]Blatt1'!$A$2:$C$70;3;FALSCH))"

Es funktioniert, wenn ich die Formel folgendermaßen ändere und als Ganzes in eine Variable speichere:
Let a = "=WENN(SVERWEIS($C$2;'D:\Test\[Testdatei.xls]Blatt1'!$A$2:$C$70;3;FALSCH)="""";0;SVERWEIS($C$2;'D:\Test\[Testdatei.xls]Blatt1'!$A$2:$C$70;3;FALSCH))"
ActiveSheet.Range("C10").FormulaLocal = a

Was muss ich ändern, wenn der Pfad durch eine Variable "Pfad" und der Dateiname durch eine Variable "Dateiname" und der Spaltenindex durch eine Variable "Index" ersetzt werden soll?
Habe schon alles möglich in folgender Form probiert:

ActiveSheet.Range("C10").FormulaLocal = "=WENN(SVERWEIS($C$2;'" & Pfad "[" & Dateiname "]Blatt1'!$A$2:$C$70;" & Index ";FALSCH)="""";0; ...

Aber dann bekomme ich doppelte Klammern oder doppelte Dateinamen usw. Finde auch im Forum nicht den geeigneten Hinweis.
Vielen Dank für Eure Hilfe.
Grüße, Thomas
Mitglied: 76109
15.11.2011 um 09:18 Uhr
Hallo Thomas!

Versuchs mal so:
01.
    Formel = "=WENN(ISTFEHLER(SVERWEIS($C$2;'" & Pfad & "[" & Dateiname & "]Blatt1'!$A$2:$C$70;" & SpaltenNr & ";FALSCH));0;SVERWEIS($C$2;'" & Pfad & "[" & Dateiname & "]Blatt1'!$A$2:$C$70;" & SpaltenNr & ";FALSCH))" 
02.
     
03.
    Range("C10").FormulaLocal = Formel
wobei das Stringverkettungszeichen (&) vor und nach dem Variablennamen stehen muss

Gruß Dieter
Bitte warten ..
Mitglied: schustec
15.11.2011 um 20:33 Uhr
Hallo Dieter,
vielen Dank für die schnelle Antwort. Leider funktioniert das auch noch nicht. Der Pfad, der in der Variablen Pfad gespeichert ist und auch das ' Zeichen davor tauchen in der Formel in Zelle C10 nicht auf.
Ich glaube, dass es mit den Anführungszeichen zusammenhängt, die wahrscheinlich noch nicht alle richtig gesetzt sind.
Gruß, Thomas
Bitte warten ..
Mitglied: schustec
15.11.2011 um 21:31 Uhr
Hallo nochmal,
die Formel scheint auch ohne Pfad zu funktionieren. Ignoriert Excel diesen in der Formel, wenn die Formel-Datei im gleichen Ordner liegt wie die Datei, auf die Sverweis zugreift?
Werde mal ein bißchen rumprobieren und melde mich wieder, wenn es sicher funktioniert.
Danke und Gruß, Thomas
Bitte warten ..
Mitglied: Biber
15.11.2011 um 22:01 Uhr
Moin schustec,

die Formel scheint auch ohne Pfad zu funktionieren. Ignoriert Excel diesen in der Formel,
wenn die Formel-Datei im gleichen Ordner liegt wie die Datei, auf die Sverweis zugreift?

Ja nee... ist falschrum formuliert.

WENN ein Pfad angegeben ist, DANN ignoriert Excel den nicht.
Aber es muss kein Pfad angegeben werden, da ohnehin nur eine (in derselben Session) bereits geöffnete Datei berücksichtigt werden kann beim SVERWEIS().

Und die doofen Praktikanten Excel steigt schon vorher an zwei, drei Stellen, falls du mehrere gleichnamige Dateien aus verschiedenen Laufwerken/Verzeichnissen öffnen willst.
Also unterm Strich:
Ja, du kannst Laufwerk&Verzeichnis weglassen -der Dateiname (wenn mehrere Dateien beteiligt sind) reicht.


Andererseits.....
... du willst doch dieses Anführungszeichen-String-mein-Excel-versteht-mich-nicht-Puzzle nicht halbfertig weglegen, oder?

Grüße
Biber
Bitte warten ..
Mitglied: schustec
16.11.2011 um 12:18 Uhr
Hallo Biber,
halbfertig weglegen ist tatsächlich nicht so mein Ding.

Vielleicht kurz zum Hintergrund:
Ich muss Mehrarbeitsdaten aus einem Programm in ein mir vorgegebenes, blattgeschütztes Excel-Blatt (quasi Vorlagendatei) übertragen, in das nur an best. Zellen Werte (oder eben auch Formeln ) eingetragen werden können und welches unter dem entsprechenden Namen des Mitarbeiters gespeichert werden soll. Für viele Mitarbeiter ist das ne ewige Quälerei, das hunderte Male mit copy & paste zu erledigen. Nun bin ich eben so weit, dass ich per Makro die Daten aus dem Programm (aus einer Art Textdatei) herausfiltere und nach Namen sortiert in einer Tabelle habe (nennen wir sie Datendatei). Von dort aus wird nun die quasi Vorlagendatei geöffnet und automatisch unter dem entsprechenden Mitarbeiternamen gespeichert. Bisher hatte ich die Formeln (Sverweise) in der Vorlagendatei bereits fest in den Spalten, was aber den Nachteil hatte, dass ich die Datendatei nicht unter einem neuen Ort oder Namen (z.B. im Folgejahr) speichern kann, ohne alle Formeln in der Vorlagendatei anzupassen. Deswegen der Wunsch, dass beim Öffnen der Vorlagendatei die Sverweise über die Variablen an den Pfad der Datendatei und deren Namen angepasst werden.

Lösung:
Da die Formeln nun ohne Pfadübernahme funktionierten, habe ich folgendes ausprobiert:
1. Die Datei in einen anderen Ordner speichern lassen
Ergebnis: Sie funktioniert immer noch, ohne dass der Pfad in der Formel auftaucht.
2. Die Datei ohne geöffnete Datendatei geöffnet (Nachfrage, ob Werte aktualisiert werden sollen, bejaht) und siehe da:
Nun wird der gesamte Pfad in der Formel angezeigt.

Ich bin anscheinend einem Anfängerfehler aufgesessen. Solange die Datei, auf die Sverweis zugreift, geöffnet ist, wird in der Zelle die Formel ohne Pfad angezeigt, sonst mit Pfad. Formel funktioniert also, wie von Dieter beschrieben.
Damit ist das Problem gelöst. Vielleicht kommen ja noch ein paar Antwortkommentare, deshalb warte ich mit der Markierung "Beitrag gelöst" noch ein paar Tage.
Vielen Dank an alle für die Mithilfe!
Gruß, Thomas
Bitte warten ..
Ähnliche Inhalte
VB for Applications

Excel VBA Formel "WENN" einfügen

gelöst Frage von chef1568VB for Applications2 Kommentare

Hallo zusammen, ich möchte per Excel-Makro folgende Formel eintragen: EXCEL: VBA: Leider bekomme ich hier immer einen anwendungsrelevanten Fehler ...

Microsoft Office

Excel-Formel oder VBA

gelöst Frage von nicki01Microsoft Office7 Kommentare

Hallo Ich weiß nicht, ob ich hier richtig bin. Mein Problem: Ich habe mir (mit Mühe) ein Excel-Haushaltsbuch aufgebaut. ...

Microsoft Office

Excel Formel in VBA fummeln

gelöst Frage von YotYotMicrosoft Office1 Kommentar

Moin! Ich habe da so eine neckische kleine Excel-Tabelle mit derzeit rund 9 Mio. gefüllten Zellen, von denen 2 ...

Entwicklung

VBA wenn Formel

Frage von TheSB891Entwicklung1 Kommentar

Hallo Zusammen Ich hab da ein kleines Problem und finde leider keine Lösung. Ich habe eine Tabelle die ich ...

Neue Wissensbeiträge
Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 2 StundenServer-Hardware1 Kommentar

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Windows 10

Kumuative Updates für .NET Framework kommen für Windows 10 V1809

Information von kgborn vor 7 StundenWindows 10

Microsoft hat das Ganze im Beitrag Announcing Cumulative Updates for .NET Framework for Windows 10 October 2018 Update vorgestellt. ...

Sicherheit
Neue IT-Administrator Ausgabe - Endpoint Security
Information von Frank vor 8 StundenSicherheit

Die Endgeräte in Unternehmen stellen das wohl größte Einfallstor für Angreifer dar. Ein geöffneter, infizierter E-Mail-Anhang oder der Besuch ...

Windows Tools

Windows 10 BitLocker Laufwerkverschlüsselung ohne TPM-Chip

Anleitung von Frank vor 8 StundenWindows Tools4 Kommentare

Diese Anleitung zeigt, wie man die Windows BitLocker Laufwerkverschlüsselung ohne TPM-Chip Schritt für Schritt aktiviert. Zwar haben viele Laptops ...

Heiß diskutierte Inhalte
Hyper-V
Windows Serer 2016 Standard virtualisieren
gelöst Frage von fritte87Hyper-V33 Kommentare

Hallo zusammen, ich muss für eine kleine Firma ein entsprechendes neues kleines Konzept bauen. Ich habe einen Server Standard ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Firewall
Externer Zugriff auf Webserver
Frage von KingLouieFirewall12 Kommentare

Hallo zusammen, ich habe folgendes Problem: Ein Kollege muss gelegentlich auf einen Webserver zugreiffen, sowohl von intern als auch ...

Voice over IP
Umstellung Anlagenanschluss ISDN auf IP - Welcher Router?
Frage von ToniSchmidtVoice over IP12 Kommentare

Hallo zusammen, zum Ende des Jahres werden unsere geliebten ISDN Anlagenanschlüsse zwangsweise auf IP Anschlüsse umgestellt. Wir betreiben die ...