AW: Auswahl "Ja" oder "Nein" - Liste übertragen
20.04.2019 07:01:56
Werner
Hallo Chris,
davon war aber seither nie die Rede - und hellsehen kann ich leider noch nicht.
Da du die Spalten sowieso ausblendest, habe ich noch eine Änderung mit eingefügt. Die Daten für die Variable strSuch werden jetzt im Tabellenblatt in den Zellen K2 und L2 gespeichert.
Option Explicit
Private Sub CommandButton1_Click()
Dim loLetzteQuelle As Long, loLetzteZiel As Long
Dim loStartzeileQuelle As Long, loStartzeileZiel As Long
Dim loSpalteQuelleJa As Long, loSpalteQuelleNein As Long
Dim loSpalteZiel As Long, strSuch As String
Dim raFund As Range, raJaNein As Range
'Startzeile Qelldaten
loStartzeileQuelle = 2 'Zeile 2
'Spalte Quelldaten für Ja
loSpalteQuelleJa = 10 'Spalte J
'Spalte Quelldaten für Nein
loSpalteQuelleNein = 9 'Spalte I
'Startzeile Zieldaten
loStartzeileZiel = 2 'Zeile 2
'Spalte Zieldaten
loSpalteZiel = 8 'Spalte H
'Zelle für Auswahl Ja/Nein
Set raJaNein = Worksheets("Generator").Range("A12")
With Worksheets("Generator")
If raJaNein = "Ja" Then
If .Cells(loStartzeileQuelle, loSpalteQuelleJa + 2) "" Then
strSuch = .Cells(loStartzeileQuelle, loSpalteQuelleNein + 2)
End If
ElseIf raJaNein = "Nein" Then
If .Cells(loStartzeileQuelle, loSpalteQuelleNein + 2) "" Then
strSuch = .Cells(loStartzeileQuelle, loSpalteQuelleJa + 2)
End If
End If
If Not strSuch = vbNullString Then
Set raFund = .Columns(loSpalteZiel).Find(what:=strSuch, LookIn:=xlValues, _
lookat:=xlWhole)
If Not raFund Is Nothing Then
loLetzteZiel = .Cells(.Rows.Count, loSpalteZiel).End(xlUp).Row
.Range(.Cells(raFund.Row, loSpalteZiel), .Cells(loLetzteZiel, loSpalteZiel)) _
.ClearContents
Set raFund = Nothing
End If
End If
Set raFund = .Columns(loSpalteZiel).Find(what:="*", LookIn:=xlValues, _
lookat:=xlWhole, searchdirection:=xlPrevious)
If Not raFund Is Nothing Then
loLetzteZiel = raFund.Offset(1).Row
End If
If raJaNein.Value = "Ja" Then
loLetzteQuelle = .Cells(.Rows.Count, loSpalteQuelleJa).End(xlUp).Row
.Range(.Cells(loStartzeileQuelle, loSpalteQuelleJa), .Cells(loLetzteQuelle, _
loSpalteQuelleJa)).Copy
.Cells(loLetzteZiel, loSpalteZiel).PasteSpecial Paste:=xlPasteValues
.Cells(loStartzeileQuelle, loSpalteQuelleJa + 2) = .Cells(loStartzeileQuelle, _
loSpalteQuelleJa)
ElseIf raJaNein = "Nein" Then
loLetzteQuelle = .Cells(.Rows.Count, loSpalteQuelleNein).End(xlUp).Row
.Range(.Cells(loStartzeileQuelle, loSpalteQuelleNein), .Cells(loLetzteQuelle, _
loSpalteQuelleNein)).Copy
.Cells(loLetzteZiel, loSpalteZiel).PasteSpecial Paste:=xlPasteValues
.Cells(loStartzeileQuelle, loSpalteQuelleNein + 2) = .Cells(loStartzeileQuelle, _
loSpalteQuelleNein)
End If
Set raFund = .Columns(loSpalteZiel).Find(what:="*", LookIn:=xlValues, lookat:=xlWhole, _
searchdirection:=xlPrevious)
If Not raFund Is Nothing Then
.Range(.Cells(loStartzeileZiel, loSpalteZiel), .Cells(raFund.Row, loSpalteZiel)).Copy
End If
End With
Set raFund = Nothing: Set raJaNein = Nothing
End Sub
Gruß Werner