Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1564to1568
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

Dateiauswahldiaglog

Dateiauswahldiaglog
27.06.2017 09:44:31
Basti
Hallo Forum,
bei diesem Fall stoße meine VBA-Skills an ihre Grenzen.
Mit dem u.a. Makro verschiebe ich bestimmte Zellen der aktuell markierten Zeile in eine festgelegte Arbeitsmappe.
Ich würde gerne den Code so ändern, dass ich über den Dateiauswahldialog die Arbeitsmappe wählen kann ohne jedes Mal den Dateipfad in das Makro kopieren zu müssen.
Vielen Dank für Eure Hilfe.
Gruß
Basti
Public Sub NewIssue()
Dim objXLApp As Excel.Application
Dim objXLABC As Excel.Workbook
Dim objXLWorkbooks As Excel.Workbooks
Dim neuWkb
Dim lngLastRow As Long
Dim rng As Range
Dim I As Long
Dim rr As Long
Dim zells As Range
rr = Selection.Row
Set rng = Range("A1,B1,C1,D1,E1,F1,G1,H1,I1,J1").Offset(rr - 1)
Set objXLApp = New Excel.Application
Set objXLWorkbooks = objXLApp.Workbooks
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set objXLABC = objXLWorkbooks.Open("C:\Users\UserName\Desktop\Arbeitsmappe.xlsx")
neuWkb = objXLABC.Name
With objXLWorkbooks(neuWkb).Sheets(1)
lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
If lngLastRow = 1 Then
Laufendezahl = 1
Else
Laufendezahl = .Cells(lngLastRow, 1) + 1
End If
.Cells(lngLastRow + 1, 1) = Laufendezahl
.Cells(lngLastRow + 1, 2) = Application.UserName
.Cells(lngLastRow + 1, 3) = Now
I = 3
For Each zell In rng
I = I + 1
.Cells(lngLastRow + 1, I) = zell
Next
End With
objXLWorkbooks(neuWkb).Close savechanges:=True
Workbooks.Open ("C:\Users\UserName\Desktop\Arbeitsmappe.xlsx")
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
Set objXLApp = Nothing
Set objXLWorkbooks = Nothing
End Sub

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateiauswahldiaglog
27.06.2017 09:48:06
Hajo_Zi

Option Explicit
'* 22.06.17                                       *
'* erstellt von Karin                             *
'* Beverly_Forums@web.de                          *
'* http://Excel-Inn.de
Sub KopierenErsetzen()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = "W:\Eigene Dateien\Hajo\Internet\Test\2017\"    '


AW: Dateiauswahldiaglog
27.06.2017 10:30:28
Basti
Hallo Hajo,
Danke für deine schnelle Anwort.
Wie binde ich diesen Ablauf in meinen Code ein, irgendwie brauche ich doch eine Variable, die ich dann in diesem Abschnitt aufrufen kann?
Set objXLABC = objXLWorkbooks.Open("C:\Users\UserName\Desktop\Arbeitsmappe.xlsx")
Gruß
Basti
Anzeige
AW: Dateiauswahldiaglog
27.06.2017 10:33:51
Hajo_Zi
Hallo Basti,
Du schreibst umfangreichen Code und scheiterst jetzt an Kleinigkeiten?
Dein Code kommt anstelle
MsgBox .SelectedItems(1)
da dort eine Datei ausgewählt wurde.
auf .SelectedItems(1) steht der komplette Name einschl. Pfad.

AW: Dateiauswahldiaglog
27.06.2017 11:21:32
Basti
Hallo Hajo,
werde ab sofort auch wie bei Dir eine Quellenangabe mit einfügen.
Der Code ist in Zusammenabreit mit dem Forum entstanden und übersteigt meine VBA-Kenntnisse deutlich. Ich komme dann nachdem Prinzip Trial and Error zum Ziel.
Habe jetzt den Code anstelle der MsgBox eingesetzt, become aber eine type mismatch Fehlermeldung für .SelectedItems(1)
Public Sub NewIssueI()
Dim objXLApp As Excel.Application
Dim objXLABC As Excel.Workbook
Dim objXLWorkbooks As Excel.Workbooks
Dim neuWkb
Dim lngLastRow As Long
Dim rng As Range
Dim I As Long
Dim rr As Long
Dim zells As Range
rr = Selection.Row
Set rng = Range("A1,B1,C1,D1,E1,F1,G1,H1,I1,J1").Offset(rr - 1)
Set objXLApp = New Excel.Application
Set objXLWorkbooks = objXLApp.Workbooks
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = "C:\Users\Desktop\"    '
Gruß
Basti
Anzeige
AW: Dateiauswahldiaglog
27.06.2017 11:24:30
Hajo_Zi
Gut ich stimme dem Zu
werde ab sofort auch wie bei Dir eine Quellenangabe mit einfügen.

Ich alte mich dann an diese Seite.
http://hajo-excel.de/copyright.htm
Ich bin dann raus.
Viel Erfolg noch.
Gruß Hajo
AW: Dateiauswahldiaglog
27.06.2017 11:41:53
Basti
Hallo Hajo,
werde ab sofort auch wie bei Dir eine Quellenangabe mit einfügen.
Der Code ist in Zusammenabreit mit dem Forum entstanden und übersteigt meine VBA-Kenntnisse deutlich. Ich komme dann nachdem Prinzip Trial and Error zum Ziel.
Habe jetzt den Code anstelle der MsgBox eingesetzt, become aber eine type mismatch Fehlermeldung für .SelectedItems(1)
Public Sub NewIssueI()
Dim objXLApp As Excel.Application
Dim objXLABC As Excel.Workbook
Dim objXLWorkbooks As Excel.Workbooks
Dim neuWkb
Dim lngLastRow As Long
Dim rng As Range
Dim I As Long
Dim rr As Long
Dim zells As Range
rr = Selection.Row
Set rng = Range("A1,B1,C1,D1,E1,F1,G1,H1,I1,J1").Offset(rr - 1)
Set objXLApp = New Excel.Application
Set objXLWorkbooks = objXLApp.Workbooks
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = "C:\Users\Desktop\"    '
Gruß
Basti
Anzeige
AW: Dateiauswahldiaglog
27.06.2017 12:30:21
Basti
Hallo Hajo,
vielen Dank trotzdem.
Gruß
Basti
AW: Dateiauswahldiaglog
27.06.2017 13:55:46
Matthias
Hallo! Also so auf die schnelle sollte so die Dateiauswahl eingebunden werden. Ist ungetestet. Bei den Kommentaren mal noch schauen. Insb. am Ende der Datei öffnest du die xlsx nochmal ? VG

Public Sub NewIssue()
Dim objXLApp As Excel.Application
Dim objXLABC As Excel.Workbook
Dim objXLWorkbooks As Excel.Workbooks
Dim neuWkb
Dim lngLastRow As Long
Dim rng As Range
Dim I As Long
Dim rr As Long
Dim zells As Range
Dim dateiname As String
rr = Selection.Row
Set rng = Range("A1,B1,C1,D1,E1,F1,G1,H1,I1,J1").Offset(rr - 1)
Set objXLApp = New Excel.Application
Set objXLWorkbooks = objXLApp.Workbooks
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
'hier die zuweisung des namens
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
'.InitialFileName = "W:\Eigene Dateien\Hajo\Internet\Test\2017\"    '

Anzeige
AW: Dateiauswahldiaglog
27.06.2017 15:22:39
Basti
Servus Matthias,
So sollte es sein, Danke!
Ich hab die Datei öffnen lassen, damit man sie ggf. direkt bearbeiten kann.
Gruß
Basti

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige