Moin ihr Lieben,
folgendes Problem:
Ich habe zwei Dateien. In einer Datei ist ein Formular abgebildet. In diesem Formular wird in Spalte H, Zeile 7 eine Nummer manuell eingegeben, dann soll ein Knopf erstellt werden den ich drücken kann und mein Programm soll daraufhin eine zweite Datei öffnen und in dieser in der ersten Spalte diese eingegebene Nummer finden und mir dann die ganze Zeile wieder in die erste Datei aber nach Tabellenblatt 2 kopieren.
So scheint es für mich zumindest einfacher, oder aber es sollen, wenn das möglich ist statt der ganzen Zeile nur einzelne Informationen kopiert und direkt in das Formular eingefügt werden. z.B. steht dann in Spalte C ein Datum, in Spalte D der Bearbeiter etc.
Hier eine Beispielzeile:
Laufende
ZKM Nummer: |
Änderungsgrund: |
Datum: |
Antragsteller: |
2016-0008 |
Materialumstellung |
07.07.2018 |
Max Mustermann |
und die Laufende ZKM Nummer ist dann die Nummer die ich am Anfang in H7 eingeben möchte.
Ich habe es schon mit einigen Code Schnipseln probiert.
Range und Find Methode und der Private Sub Target Methode, aber bekomme die nicht sauber ausgeführt.
Bisher kriege ich nur die zweite Datei geöffnet und wieder geschlossen, ohne die Änderungen zu speichern. Die Knopferstellung ist auch kein Problem.
Sub ZKM()
'
' ZKM Makro
'
' Tastenkombination: Strg+Umschalt+Z
'
Set wkb1 = ThisWorkbook
Workbooks.Open Filename:="\\LINK-4\AV$\43_Zeitanalysen\ZKM\ZKM Verfolgung_manuell.xlsm"
Set wkb2 = ("ZKM Verfolgung_manuell")
Set wks1 = wkb1.Sheets("Tabelle1")
Set wks2 = wkb2.Sheets("Formular")
Set Sh = wkb1.Sheets("Tabelle2")
With wks2.Range("A4:A10000")
If Target.Address = "$H$7" Then
Application.EnableEvents = False
Search Cells(8, 7).Value
' lngLetzte = Columns(1).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
'ist gleich die erste Spalte sucht nach "*", Zeilenweise und im Bereich nach dem vorherigen übereinstimmenden Wert
' With wkb2.Worksheets("Formular")
' Set rngZelle = .Columns(1).Find(Target, lookat:=xlWhole)
' If Not rngZelle Is Nothing Then
' lngAnzahl = Application.CountIf(.Columns(1), Target)
' .Range(.Cells(rngZelle.Row, 2), .Cells(rngZelle.Row + lngAnzahl - 1, 5)).Copy Range("A2")
' End If
' End With
' Application.EnableEvents = True
' End If
Application.CutCopyMode = False
'* schließe "\\LINK-4\AV$\43_Zeitanalysen\ZKM\ZKM Verfolgung_manuell.xlsm"
ActiveWorkbook.Close SaveChanges:=False
'*
Application.ScreenUpdating = True
End Sub
Kann mir vlt jemand behilflich sein? :)
|