Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Range in neues Excel Wb kopieren
#1
Hallo zusammen,

Ich schreibe gerade ein Makro, das einen bestimmten Bereich aus einer Excel-Tabelle in ein neues Excel-File schreiben soll. 

Der Bereich soll mit Hilfe des Anfangs- und Enddatums ausgelesen werden. Ich habe dafür eine Userform, in der der User den Bereich eintragen kann.


Code:
Dim AD As Date
AD = TextBoxAD.Value
Dim ED As Date
ED = TextBoxED.Value

Set NewBook = Workbooks.Add
 Workbooks("Blaa.xlsm").Worksheets("Gesamtliste").Range("H" & ? & ":H" & ?).Copy
 NewBook.Worksheets("Tabelle1").Range("A1").PasteSpecial (xlPasteValues)
 
Der Kopiervorgang an sich funktioniert. Jetzt geht es nur noch darum die Range so abzuändern das der Bereich von Anfangs- und Enddatum selektiert und kopiert wird. Wie kann ich nun die Textfelder mit den entsprechenden Tabellenzeilen aus Spalte H verknüpfen? 

PS: Die Spalte H beinhaltet nur Werte die einem Datum entsprechen (dd.mm.yyyy)

Vielen Dank für Eure Hilfe 
Gruß Patrick
Antworten Top
#2
Hallo Patrick,

z.B. so:
  Dim lngAD As Long, lngED As Long

With Workbooks("Blaa.xlsm").Worksheets("Gesamtliste")
On Error Resume Next
lngAD = Application.Match(CDbl(CDate(TextBoxAD.Value)), .Columns(8), 0)
lngED = Application.Match(CDbl(CDate(TextBoxED.Value)), .Columns(8), 0)
On Error GoTo 0
If lngAD * lngED > 0 Then
.Range("H" & lngAD & ":H" & lngED).Copy
Workbooks.Add.Worksheets(1).Range("A1").PasteSpecial xlPasteValuesAndNumberFormats
Else
MsgBox "Bitte Datumswerte überprüfen!", vbCritical
End If
End With
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Patrick S
Antworten Top
#3
Hallo Uwe,

funktioniert super, Dankeschön!

Gruß Patrick
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste