Anzeige
Archiv - Navigation
600to604
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
600to604
600to604
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Öffnen von Excel-File bei laufendenm VBA-Projekt

Öffnen von Excel-File bei laufendenm VBA-Projekt
19.04.2005 11:30:15
Excel-File
hallo dani,
du hattest dich ja bereits einmal meinem problem gewidmet.
mein posting ist leider bereits im archiv, ich hatte keine möglichkeit mehr, zu antworten.... (14.04.2005 17:35:11)
ich habe ein vba-projekt, also eine geöffnete excel-tabelle, mit einer userform im vordergrund, die nicht verschiebbar oder zu schließen ist.
über dieses vba-projekt soll nach aktivieren eines command-button alle werte aus einer bestimmten spalte aus eben dieser neuen zu öffnenden excel-tabelle ausgelesen werden. das sind circa 1-100 elemente, die dann in ein multi-choice-feld übertragen werden sollen.
die neue zu öffnende datei hat allerdings jede kalenderwoche einen neuen dateinamen und in der betroffenen spalte auch jedesmal neue werte. der dateiname sieht folgendermaßen aus:
xyz_0516 (für das jahr 2005 und die aktuelle kw16) in kw17: xyz_0517
die zu öffnende datei soll nur gelesen werden, also nicht neu gespeichert oder verändert werden.
ich benötige aus der datei dann je nach auswahl aus der multibox noch werte aus einigen spalten, die in der gleichen zeile stehen, je nachdem welche objekte ausgewählt wurden.
danke für jede unterstützung

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffnen von Excel-File bei laufendenm VBA-Projekt
19.04.2005 12:42:16
Excel-File
Hallo Jan,
ich habe dir zwei Funktionen gebastelt eine für den dynamischen Dateinamen, die zweite liest Zellen aus geschlossenen Excel Files. Ich weiss dass das deine Probleme noch nicht löst aber ich möchte wissen ob wir auf dem richtigen Weg sind:


      
Function MakeFilename(d As Date) As String
Dim t As Date
Dim KW As Integer
Dim Dateinamen As String
    t = DateSerial(Year(d + (8 - Weekday(d)) 
Mod 7 - 3), 1, 1)
    KW = (d - t - 3 + (Weekday(t) + 1) 
Mod 7) \ 7 + 1
    Dateinamen = "xyz_" & KW & Right(t, 2)
MakeFilename = Dateinamen
End Function
Function Zelle_auslesen(Pfad, File As String, Zeile, Spalte As Long)
Zelle_auslesen = Application.ExecuteExcel4Macro("'" & Pfad & "[" & File & "]" & "Tabelle1'!R" & Zeile & "C" & Spalte & " ")
End Function 


Gruss Dani
Anzeige
AW: Öffnen von Excel-File bei laufendenm VBA-Projekt
19.04.2005 12:58:21
Excel-File
hallo dani,
also den ersten code habe ich verstanden, denke ich.
eine abschließende frage hierzu:
der dateiname wird vorgegeben, d.h. die datei ist schon unter diesem dateinamen gespeichert und ich benötige eine funktion, die mir jede kw neu mitteilt, wie der dateiname denn nun aussieht, damit das vba-projekt diese dann auch öffnen kann.
in simplen worten: ich speichere ende der alten kw die datei unter dem neuen namen für die neue kw.

Function MakeFilename(d As Date) As String
Dim t As Date
Dim KW As Integer
Dim Dateinamen As String
t = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
KW = (d - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
Dateinamen = "xyz_" & KW & Right(t, 2)
MakeFilename = Dateinamen
End Function

nun zum zweiten teil des codes:

Function Zelle_auslesen(Pfad, File As String, Zeile, Spalte As Long)
Zelle_auslesen = Application.ExecuteExcel4Macro("'" & Pfad & "[" & File & "]" & "Tabelle1'!R" & Zeile & "C" & Spalte & " ")
End 

Function
Tabelle1: ist wieder dynamisch und heisst wie der dateiname - z.b.: kw0516.
das habe ich vergessen zu erwähnen, aber da kann ich ja den oberen teil des codes umbauen.
beim auslesen der spalte "L":
alle werte, die dort untereinander stehen kopieren und in das multichoice einfügen.
die zeilen nicht komplett, sondern nur die dazugehörigen werte in spalte D, E und O!
diese dann aber nur in ein zu dem file mit dem vba-projekt gehörende excel-tabelle kopieren.....

Anzeige
AW: Öffnen von Excel-File bei laufendenm VBA-Projekt
20.04.2005 13:15:10
Excel-File
Hallo Jan ich hab dir mal ein File gestrickt,
schau dir an der Code an er ist unter dem Formularfeld zu finden. Das Beispiel funktioniert mit einem Excelfile Text.xls den du in der Variable "Quelldatei" ändern kannst:
https://www.herber.de/bbs/user/21411.xls
Gruss Dani
AW: Öffnen von Excel-File bei laufendem VBA-Projekt
21.04.2005 10:29:13
Excel-File
hallo dani,
ich habe mir die datei einmal runtergeladen und mir den code angeschaut. ich glaube, wir haben aneinander vorbeigeredet... ich denke, dass ich teile deines codes verarbeiten kann, aber die generierung des dateinamens ist so gar nicht notwendig.
die datei, die ich neu öffnen möchte hat diesen dateinamen schon. der dateiname wird manuell erzeugt und hat die form xyz_0516 (jahr, kw). das soll nicht über das vba-projekt gesteuert werden. nur ist diese information ja wichtig, da durch den dynamischen dateinamen der vba-code angepasst werden muss, weil vba ja sonst die datei nicht öffnenm kann, wenn der name unbekannt ist bzw. eine alte version geöffnet wird. dachte vba könnte das aus dem jeweils gültigen datum ermitteln. der dateiname soll auch nicht von dem code geändert werden!
kann ich das so nutzen?
diser code-teil ist in einem sub:
' Öffnen der Datei WIP Report
Quellmappe = Dateinamen
Set exapp = New Excel.Application
exapp.Visible = False
exapp.Workbooks.Open "U:\WIP_Report_2005\" & Quellmappe
Set Datenquelle = exapp.Worksheets(Dateinamen)

Function MakeFilename(d As Date) As String
' Setzen des Dateinamens für den WIP-Report
Dim t As Date
Dim KW As Integer
Dim Dateinamen As String
t = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
KW = (d - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
Dateinamen = "WIP Report " & KW & Right(t, 2)
MakeFilename = Dateinamen
End Function

mit diesen beiden code-teilen möchte ich erreichen:
öffnen der arbeitsmappe WIP Report (je nach kw)
ich kann das programm leider nicht testen... zumindest noch nicht....
danke und gruss jan
Anzeige
AW: Öffnen von Excel-File bei laufendem VBA-Projekt
22.04.2005 08:39:14
Excel-File
Hallo Jan,
das müsste so funktionieren. Du musst die Funktion benutzen um den Namen der zu öffnenden Datei zu generieren in dieser Art:
Quellmappe = MakeFilename (Date) 'Damit übergibst du der Funktion das aktuelle Datum und erhälst den zugehörigen Filnemn zurück
Set exapp = New Excel.Application
exapp.Visible = False
exapp.Workbooks.Open "U:\WIP_Report_2005\" & Quellmappe
Set Datenquelle = exapp.Worksheets(Dateinamen)

Function MakeFilename(d As Date) As String
' Setzen des Dateinamens für den WIP-Report
Dim t As Date
Dim KW As Integer
Dim Dateinamen As String
t = DateSerial(Year(d + (8 - Weekday(d)) Mod 7 - 3), 1, 1)
KW = (d - t - 3 + (Weekday(t) + 1) Mod 7) \ 7 + 1
Dateinamen = "WIP Report " & KW & Right(t, 2)
MakeFilename = Dateinamen
End Function

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige