Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dateinamen / .activate

Dateinamen / .activate
18.07.2007 13:44:15
Johannes
Hallo zusammen,
ich bekomme eine Liste per mail, der Name der CSV-Datei ist immer [mueller (Datum)] Die Datei wird aus der Mail geöffnet und soll nun in Teilen weiterverarbeitet werden. Dazu muss ich einige Spalten aus der Datei in eine ander Auswertedatei kopieren.
Frage wie kann ich nun einen Makrobefehl:
Windows("mueller 13.07.07.xls").Activate
so abändern, dass das Makro die Datei nimmt die offen ist, ohne auf den Datumsanhang zu achten. Sprich es soll nur ein Teil des Namens zum öffnen relevant sein.
Vielen Dank für Eure Hilfe und viele Grüße
Johannes

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateinamen / .activate
18.07.2007 13:47:00
Hajo_Zi
Hallo Johannes,
ActiveWorkbook

AW: Dateinamen / .activate
18.07.2007 14:03:28
Johannes
Hallo Hajo
die CSV Datei ist zu dem Zeitpunkt nicht die aktive Tabelle. Die Aktive Tabelle ist die Auswertung, aus der heraus ich auf die CSV Datei zugreifen will - ohne eben den Namen jedesmal im Code anpassen zu müssen.
Gruß
Johannes

AW: Dateinamen / .activate
18.07.2007 14:06:33
Hajo_Zi
Hallo Johannes,
ich arbeite nicht mit CSV Dateien, aber ich würde vermuten das trifft nicht zu
"Die Aktive Tabelle ist die Auswertung, aus der heraus ich auf die CSV Datei zugreifen will"
Ich kenne es eher so das die Daten in die Tabelle eingefügt wurden, veränderungen in der Tabelle, verändern nicht die CSV Datei.
Gruß Hajo

Anzeige
AW: Dateinamen / .activate
18.07.2007 14:19:52
Johannes
Hallo Hajo,
vieleicht habe ich "betriebsblind" mein Problenm nicht richtig dargestellt. Ich versuchs nocmal:
mit der Auswertung hole ich mir jede Woche die Daten aus der CSV. Solange ich das selber mache speichere ich die CSV vorher manuell unter dem Dateinamen "mueller" und lasse dann mein Makro laufen. Da ich aber für den Fall vorsorgen muss, dass ich mal Urlaub habe (seufz) sollte das auch von meinen Kollegen gehandelt werden können - und da habe ich dann meine Zweifel (leider).
Also suche ich nach einem Weg wie ich die Auswertedatei dazu bringe auf die geöffnete Datei mueller+Datum zuzugreifen, obwohl die Datei Auswertung den Datumteil des Namens nicht kennt, weil sich der jede Woche ja ändert, leider nicht unbedingt immer am Freitag.
Vieleicht ist es jetzt klarer.
Gruß
Johannes

Anzeige
AW: Dateinamen / .activate
18.07.2007 14:14:00
Oberschlumpf
Hi Johannes
Wenn nur 2 Dateien geöffnet sind, nämlich die Auswertungs-Datei und die CSV-Datei, dann versuch es mal mit diesem Makro IN der Auswertungsdatei:

Sub test()
Dim liWb As Integer, lstrWbName As String
For liWb = 1 To Workbooks.Count
If Workbooks(liWb).Name  ThisWorkbook.Name Then
lstrWbName = Workbooks(liWb).Name
End If
Next
'und ab jetzt kannst du mit z Bsp
Workbooks(lstrWbName).Sheets(DeinSheet).Range(DeinRange).Value
'auf die CSV-Datei zugreifen.
'ab hier also dein weiterer Code
End Sub


Hilft das?
Ciao
Thorsten

Anzeige
AW: Dateinamen / .activate
18.07.2007 14:36:22
Johannes
Hallo Thorsten,
ich habe Deinen Code wie folgt abgeändert:

'und ab jetzt kannst du mit z Bsp
Workbooks(lstrWbName).Activate
'auf die CSV-Datei zugreifen.
'ab hier also dein weiterer Code


Dann gehts, aber es stellt sich sofort die Frage wie kann ich sicherstellen, dass nur eben diese beiden Dateien offen sind , bzw wie ich die Anzahl der geöffneten Dateien ermitteln und wenn die größer als zwei ist, könnte ich über ein exit sub aussteigen und den User mit einer msg box entsprechende Hinweise geben.
Frage nun: wie ermittele ich die Anzahl der offenen Dateien?
Gruß
Johannes

Anzeige
AW: Dateinamen / .activate
18.07.2007 14:46:00
Johannes
Hallo Thorsten,
nachdenken hilft:

If Workbooks.Count > 2 Then
MsgBox ("zuviel")
End If
MsgBox ("nur 2")


Gruß
Johannes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige