ich stehe mal wieder auf dem Schlauch bzgl. einer VBA Programmierung.
Folgende Ausgangssituation:
In Spalte B die Projektnumer und
in Spalte E der Auftragnehmer
und weitere Angaben, die jedoch nicht relevant sind.
Die Tabelle ist so aufgebaut, dass die Projektnummern gestaffelt sind, also sortiert sind, jedoch untereinander fortlaufend stehen.
Jetzt soll per VBA Button eine Zeile unterhalb der Zeile eingefügt werden, wo eine bestimmte TP-Nummer in Spalte B steht. Hier stelle ich mir einen Button pro TP vor, also wird keine Eingabemaske benötigt.
Zudem sollen die Werte von Spalte B und E, sowie alle Formatierung, Formeln und Dropdownfehler mitkopiert werden.
Ich habe bisher zwei unterschiedliche VBA Codes, die ich gefunden habe, aber ich kriege die beiden nicht zusammen.
Im ersten Code sucht er richtig nach der Projektnummer, kann aber die Formate und Werte nicht kopieren, aber jedoch die Dropdownfelder.
Im zweiten Code kopiert er richtig die Formate, Formeln und Werte, jedoch nicht die Dropdownfelder und immer nur an der allgemein letzten Zelle.
Code 1:
Private Sub Test2_Click()
Dim i As Long
i = Cells(Rows.Count, 2).End(xlUp).Row
Do Until Cells(i, 2) = "1"
i = i - 1
Loop
Rows(i + 1).Insert (xlPasteFormats)
End Sub
Code 2:
Sub Test_Click()
Dim Zeile As Long
With ActiveSheet
'Zeilennummer:
Zeile = .Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
'Kopieren:
Intersect(.Rows(Zeile - 1), .UsedRange).Copy
.Cells(Zeile, 1).PasteSpecial Paste:=xlPasteFormats 'Formate
.Cells(Zeile, 1).PasteSpecial Paste:=xlPasteFormulas 'Formeln
Application.CutCopyMode = False
'Werte löschen
Intersect(.Rows(Zeile), .UsedRange).SpecialCells(xlCellTypeConstants).ClearContents
'Nummer in Spalte A:
.Cells(Zeile, 4).Value = .Cells(Zeile - 1, 4).Value
'Datum in Spalte B:
.Cells(Zeile, 5).Value = .Cells(Zeile - 1, 5).Value
End With
End Sub
Hoffentlich könnt ihr mir wie beim letzten Mal helfen!
Vielen Dank schon mal.
Gruß,
Sören