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

Kopiertool ber VBA

Kopiertool ber VBA
02.04.2023 20:37:49
Jens-Ole

' Hallo liebe Forum-Nutzer,

ich versuche derzeit ein Makro zu schreiben, dass mir Anhand von zuvor über Inputboxen abgefragten Werten einen "unbestimmten" Bereich in eine andere geschlossene Datei (ebenfalls variablen Zielbereich) kopiert.

Mit einem fixen Wert für die Bereiche habe ich es bereits zum Laufen gebracht. (daher nicht über den Code wundern).
Vielleicht hat jemand einen guten Ansatz.

Habe aus Verzweiflung auch versucht die Werte versteckt in ein Tabellenblatt schreiben zu lassen und sie anschließend "aufzugreifen";

Den 3. Variablen Wert habe ich hier noch "fix" gelassen, da es ja schon beim "Quell-Kopierbereich" nicht funktioniert.

Hier der Code:

Option Explicit

Sub inDateiXeinfuegen()

Dim blatt As Object
Dim Blattname As String
Dim bolFlg As Boolean



Dim Eingabe1 As String
Dim Eingabe2 As String
Dim Eingabe3 As String

'**-**Festlegen des Namens für das versteckte Blatt ---**-*
Blattname = "HiddenInput"
'** Prüfen, ob das Blatt, welches eingefügt werden soll bereits vorhanden ist
'** Nur einfügen, wenn Blatt noch nicht vorhanden ist
For Each blatt In Sheets
If blatt.Name = Blattname Then bolFlg = True
Next blatt

'** Blatt nur einfügen, wenn noch nicht vorhanden
If bolFlg = False Then
With ThisWorkbook
.Sheets.Add after:=Sheets(Worksheets.Count)
.ActiveSheet.Name = "HiddenInput"
End With
End If


'** Blatt ausblenden
Worksheets("HiddenInput").Visible = xlSheetHidden

'**Input für Wert1 und Wert2 und Wert abfragen und ins verstecktte Blatt schreiben lassen
Worksheets("HiddenInput").Range("A1") = InputBox("Bitte gib die Anfangszelle für den Kopierbereich ein *bswp A2.")
Worksheets("HiddenInput").Range("A2") = InputBox("Bitte gib die Anfangszelle für den Kopierbereich ein *bswp I200.")
Worksheets("HiddenInput").Range("A3") = InputBox("Bitte gib die Anfangszelle für den Einfügebereich ein *bswp A2.")

'**Input für Wert1, Wert2 & Wert 3 in den Cache laden
Eingabe1 = Worksheets("HiddenInput").Range("A1")
Eingabe2 = Worksheets("HiddenInput").Range("A2")
Eingabe3 = Worksheets("HiddenInput").Range("A3")

Call Kopiervorgang




End Sub

Sub Kopiervorgang()

'-------------------- Kopiervorgang----
Dim Dateiname As Variant
Dim wbziel As Workbook
'Dim Eingabe As String
Dim Eingabe1 As Range
Dim Eingabe2 As Range
Dim Eingabe3 As Range
Dim rng1 As Range


'im anderen Makro eingegebene Daten werden in die Variablen eingefügt
Set Eingabe1 = Worksheets("HiddenInput").Range("A1")
Set Eingabe2 = Worksheets("HiddenInput").Range("A2")
Set Eingabe3 = Worksheets("HiddenInput").Range("A3")

Set rng1 = Worksheets("HiddenInput").Range("A1:A2")

rng1.Value = Worksheets("HiddenInput").Range("A1:A2")

'Bereich zum Kopieren aus Hidden Input übernehmen
ActiveSheet.Range (rng1)


'Eingabe2 = Sheet("HiddenInput")("A2").Value
'Eingabe3 = Sheet("HiddenInput")("A3").Value

'Datenabfrage welcher Bereich soll kopiert werden
'WertInput2 = InputBox("Zellenbereich 1 eingeben / Teil 1 - Kopierbereich:")

'WertInput2 = InputBox("Zellenbereich 2 eingeben Bspw. A2 im ersten Fenster und jetzt E86")

'Screenupdating und PoPUps deaktivieren Application.SystemAlerts = false
Application.ScreenUpdating = False


Application.ActiveSheet.Range(Eingabe1: &Eingabe2) --- HIER ist das Problem



'Bereich aus aktiver Datei zum Kopieren festlegen - funktioniert - fixer range-Wert
'Application.ActiveSheet.Range("C3:E199").Copy








'Dateityp-Definition zum Öffnen
Dateiname = Application.GetOpenFilename(FileFilter:="Excel-Dateien (*.xls*),*.xls*")

If Dateiname > False Then

'Zieldatei öffnen
Set wbziel = Workbooks.Open(Filename:=Dateiname)

'Bereich in den kopiert wird
wbziel.Worksheets(1).Range("C3").PasteSpecial

End If
'Ziel-Arbeitsmappe schließen und speichern ---- bei Bedarf ----
'wbziel.Close SaveChanges:=True


Application.ScreenUpdating = True


End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Kopiertool ber VBA
02.04.2023 20:53:11
onur
Und WO ist die Datei ? Ohne die Datei dazu bringt das nicht viel bzw ist wesentlich komplizierter, dir zu helfen.


AW: Kopiertool ber VBA
02.04.2023 21:35:39
ralf_b
da wo das Problem ist
Eingabe1 & ":" & Eingabe2



AW: Kopiertool ber VBA
03.04.2023 20:37:37
Jens-Ole
Vielen Dank ralf_b!!!!

Habe noch Probleme die Gedanken in klaren Code zu bringen. Es haperte an der korrekten Art es zu schreiben.

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige