Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Vergleich in VBA
#1
Hallo VBA-Freunde,

ich habe diese Formel in VBA:


Range("M1").FormulaLocal = "=WENN(ISTNV(VERGLEICH(C6;'C:\BUCON\[2015-02-19, Collectingsheet.xlsm]Daten'!$R:$R;0));"""";VERGLEICH(C6;'C:\BUCON\[2015-02-19, Collectingsheet.xlsm]Daten'!$R:$R;0))"

Das funktioniert auf meinem Rechner einwandfrei.
Nun will ich diesen Teil :

C:\BUCON\[2015-02-19,

variabel machen, je nach dem wo der User die Datei speichert.
Z.B.: \\filesrv01\BUCON\2015-02-19,

Der Pfad ist als Variable

PfadCollectingsheet definiert.

Wie kann ich das einbauen?

Vielen Dank für eure Hilfe schon im voraus.

Heinz
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#2
Hallo Heinz,

ich würde eine globale Variable für den Pfad definieren und mit "&" den Dateinamen statisch dahintersetzen.

Für mich liest sich das so, daß Du durchaus mehrere Pfadnamen anpeilen willst.
In diesem Fall würde ich durch eine zusätzliche Zählvariable indizieren oder Select Case nutzen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#3
Hallo Peter,

schön dass der Käpt'n wieder an Bord ist.

Eigentlich ist es immer nur der Pfad zu der Datei "Collectingsheet.XLSM".

Wir haben die User schon "gezwungen" die 4 Mappen im selben Ordner abzulegen, nur wo die liegen weis ich nie.

Deshalb müsste ja mein Vergleich variabel sein, dass ich diese Formel auf der Tabelle anernden kann.

Es sollen alte Daten in eine Datei für weitere Auswertungen genommen werden.

Kannst du mir ein Beispiel für den Vergleich in VBA geben?



Gruß Heinz
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Antworten Top
#4
Hallo Heinz,

wenn die Dateien alle im selben Ordner abgelegt sind, ist es meines Erachtens noch einfacher zu händeln.
Jedenfalls dann, wenn ich das jetzt halbwegs verstanden habe.

Ich werde gleich Besuch haben. Danach baue ich Dir gerne ein Beispiel zusammen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Hallo Heinz,

vielleicht bringt dich der Beitrag von Ransi der Lösung näher (Beitrag Nr. 8).
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#6
Hallo zusammen,

ich habe es so verstanden, dass Heinz den Pfad schon mit einer andern Prozedur herausfindet und in der Variablen PfadCollectingsheet
ablegt.
Diese Variable will er nun in der Formel unterbringen.

Wenn ich es so richtig verstanden habe, dann ginge das so:


Code:
Sub test()

 Dim PfadCollectingsheet As String
 PfadCollectingsheet = "C:\BUCON\[2015-02-19"
 Range("M1").FormulaLocal = "=WENN(ISTNV(VERGLEICH(C6;'" & PfadCollectingsheet & ", Collectingsheet.xlsm]Daten'!$R:$R;0));"""";VERGLEICH(C6;'" & PfadCollectingsheet & ", Collectingsheet.xlsm]Daten'!$R:$R;0))"

End Sub

Aber noch eine Frage an Heinz.
Da es sich um eine Mappe mit Makros handelt, warum lässt Du die Mappe nicht beim schließen automatisch in einem festgelegten Pfad oder in dem Pfad speichern, aus der die Datei gerade geöffnet wurde?
Gruß Atilla
Antworten Top
#7
Hallo Heinz,

ich entschuldige mich dafür, nicht mehr geantwortet zu haben.
Mein Besuch ist recht spät (früh) wieder verschwunden und am nächsten Tag hatte ich einen Arzttermin,
der mich quasi bis jetzt aufgehalten hat. Es ist eben leider momentan so, daß Ärzte über meine Tagesabläufe
bestimmen.
Wenn das Thema für Dich noch nicht abgeschlossen ist. teile bitte den jetzigen Stand der Dinge mit.

Außerdem bin ich inzwischen der Meinung, von der Anfrage nicht alles korrekt verstanden zu haben.
Wenn noch aktuell, dann hätte ich dazu noch einige Verständnisfragen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste