Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1136to1140
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
Inhaltsverzeichnis

Zugriff auf geöffnete Datei mit variablen Namen

Zugriff auf geöffnete Datei mit variablen Namen
leif
Hallo,
Ich hoffe Ihr könnt mir weiterhelfen denn ich habe folgendes Problem.
In einer Excel-Datei A habe ich ein Makro generiert, das eine neue Excell-Datei B erstellt und diese mit Daten aus der Excel-Datei A füttert. In meinem Macro ist die Datei A mit dem festen Namen A festgelegt. Ich möchte aber dass man der Datei A einen Variablen Namen geben kann und das Makro trotzdem auf die Richtige Datei zugreift. Eventuell könnt ich mich damit anfreunden das der Name der Datei nur bedingt variabel ist und einige Textelement immer in dem Namen vorkommt wie z.B. A_01, A_02, A_BZ usw. Erstere Version wäre natürlich besser.
Windows("A.xls").Activate
Range("L15:M15").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("B.xls").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Falls ihr noch mehr informationen benötigt würde ich sie nachträglich posten.
Vielen Dank für eure Hilfe.
MFG Leif

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zugriff auf geöffnete Datei mit variablen Namen
12.02.2010 13:50:31
Josef
Hallo Leif,

deine Fragestellung ist zwar etwas verwirrend, aber meinst du so?

Sub verwirrt()
  Dim strFileA As String, strFileB As String
  
  strFileA = "DateiA.xls"
  strFileB = "DateiB.xls"
  
  Workbooks(strFileA).Sheets("Tabelle1").Range("L15:M15").End(xlDown).Copy
  
  Workbooks(strFileB).Sheets("Tabelle1").Range("A2").PasteSpecial xlPasteValues
  
End Sub

Gruß Sepp

Anzeige
AW: Zugriff auf geöffnete Datei mit variablen Namen
12.02.2010 14:07:03
leif
Danke Sepp,
Aber was du mir gepostet hast versteh ich nicht wirklich. Bin noch nciht so in der Materie drinn.
Ich poste mal das komplette Macro:
Sub Upload()
' Upload Makro
' Makro am 11.02.2010  aufgezeichnet
'öffnet neue Tabelle und benennt Spalten
Workbooks.Add
ActiveCell.FormulaR1C1 = "Bestell Nr."
Range("B1").Select
ActiveCell.FormulaR1C1 = "Bestell Pos."
Range("C1").Select
ActiveCell.FormulaR1C1 = "Preis"
Range("D1").Select
ActiveCell.FormulaR1C1 = "LT"
Range("A1:D1").Select
' speichert auf dem Desktop
ChDir "C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop"
ActiveWorkbook.SaveAs Filename:= _
"C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\upload.xls",  _
FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
'kopiert die Bestell Nr. und Bestell Pos.
Windows("Banfen_Preise.xls").Activate
Range("L15:M15").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("upload").Activate
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Mein Anliegen:
Windows("Banfen_Preise.xls").Activate soll variabel werden.
Gibt es eine Möglichkeit, dass man anstatt die Datei Banfen_Preise zu nennen auch einen anderen Namen geben kann aber das Makro trotzdem funktioniert?
Gruß Leif
Anzeige
AW: Zugriff auf geöffnete Datei mit variablen Namen
12.02.2010 14:23:13
Josef
Hallo Leif,

also erstmal solltest du dir angewöhnen, das .Select und .Activate zu 99% unnötig sind, den Code langsam und unübersichtlich machen. Der Cursor ist ja kein Hund den man um den Block jagt.
Schau dir dazu mal das an: http://www.online-excel.de/excel/singsel_vba.php?f=78
Ich arbeite nie mit Windows(), sondern immer mit Workbooks, dabei musst du allerdings die Tabelle auch angeben, siehe auch mein Code, der allerdings ungetestet ist!

Sub Upload()
  Dim objWbNew As Workbook
  Dim strFile As String
  
  strFile = "Banfen_Preise.xls"
  
  Set objWbNew = Workbooks.Add
  
  With objWbNew
    With .Sheets(1)
      .Range("A1") = "Bestell Nr."
      .Range("B1") = "Bestell Pos."
      .Range("C1") = "Preis"
      .Range("D1") = "LT"
    End With
    .SaveAs Filename:="C:\Dokumente und Einstellungen\" & Environ("Username") & "\Desktop\upload.xls"
    
    Workbooks(strFile).Sheets("Tabelle1").Range("L15:M15").End(xlDown).Copy
    .Sheets(1).Range("A2").PasteSpecial xlValues
  End With
  
  Set objWbNew = Nothing
End Sub

Gruß Sepp

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige