ich habe ein Problem mit dem Finden von WErten und anschließendem Kopieren.
Das Macro muß heute Abend funktionieren.
Das Macro:
Public Sub Freier_Fuehler_1()
Dim wksAus As Worksheet
Dim wksSim As Worksheet
Dim lngRow As Long, lngRowDest As Long
Dim intCounter As Integer, intCopyCount As Integer
Dim varKrit As Variant, varFind As Variant
Application.ScreenUpdating = False
varKrit = TextBox3.Value
If varKrit = "" Then Exit Sub
Set wksAus = Worksheets("Auswert")
Set wksSim = Worksheets("Simpati-Daten")
With wksSim.Range("D:D")
Set varFind = .Find(What:=varKrit, After:=Range("D1"), _
LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlPrevious, _
MatchCase:=True)
If Not varFind Is Nothing Then
intCounter = 30
lngRow = varFind.Row
With wksAus.Range("D:D")
lngRowDest = .Range("D65536").End(xlUp).Row - 2
End With
If lngRowDest > 1 Then lngRowDest = lngRowDest + 1
Do
If wksSim.Cells(lngRow - 1 * intCounter, varFind.Column).Value = varFind Then
intCopyCount = intCopyCount + 1
wksSim.Range(wksSim.Cells(lngRow - 1 * intCounter, 7), _
wksSim.Cells(lngRow - 1 * intCounter, 7)).Copy _
Destination:=wksAus.Range(wksAus.Cells(lngRowDest + 1 + intCopyCount, 7), _
wksAus.Cells(lngRowDest + 1 + intCopyCount, 7))
End If
intCounter = intCounter + 1
If intCopyCount = 30 Then Exit Do
Loop Until lngRow - 1 * intCounter < 1
Else
Msgbox "Sollwert 2 """ & varKrit & """ wurde nicht gefunden"
End If
End With
Application.ScreenUpdating = True
Call Auswerten_2
End Sub
Funktion:
Das Macro soll denn WErt aus det Textbox in der Spalte D finden
und dann z.b. von der Spalte F ab der letzten gefundenen Stelle 30mal die Zeile der Spalte F kopieren.
Er macht aber nur 3 kopien bei 30 vorhandenen Spalten.
Gruß Jörg