Thema Datum  Von Nutzer Rating
Antwort
01.08.2017 08:42:30 megawunk
NotSolved
03.08.2017 08:38:58 megawunk
NotSolved
03.08.2017 11:12:08 Werner
NotSolved
Blau Einträge mit bestimmten Jahreswerten kopieren
03.08.2017 12:01:17 Gast43597
NotSolved
03.08.2017 13:18:39 Werner
NotSolved
03.08.2017 14:32:46 megawunk
Solved
03.08.2017 19:41:52 Werner
Solved

Ansicht des Beitrags:
Von:
Gast43597
Datum:
03.08.2017 12:01:17
Views:
652
Rating: Antwort:
  Ja
Thema:
Einträge mit bestimmten Jahreswerten kopieren

Hallo Werner,

der Beispielscode sollte nur darstellen wie das ganze aufgebaut ist! Du hast Recht, im Beispiel wurde nach "ja" in Spalte 13 gesucht.

Die 18 bei " Set rngSource = .Range(.Cells(j, 1), .Cells(j, 18))" bezieht sich ja auf den Bereich bis zu welcher Spalte die Zeilen kopiert werden sollen.

Bei " If rngSource.Cells(1, 7).Value = Var1 Then" prüfe ich Spalte 7 nach dem Inhalt der Variable "Var1" welche ihren Inhalt aus dem Textfeld der UserForm bezieht.

Das funktioniert auch super, wenn ich das komplette Datum in das Textfeld der UserForm eingebe. (Bsp. bei der Eingabe 01.02.2000 werden alle Zeilen die in Spalte 7 das Datum enthalten kopiert)

Mein Ansinnen ist das ich im Textfeld nur das Jahr (Bsp. 2000) eingebe und mir alle Einträge aus dem Jahr 2000 kopiert werden.Soll heißen ich müsste nur das Jahr in den Spalten überprüfen und dabei komme ich nicht weiter.


.

Hier nun mein aktueller Code:

 

Public Sub EintraegeKopieren_Jahre()
   
Dim ws As Worksheet
Dim wsTarget As Worksheet
Dim rngSource As Range
Dim i As Integer, j As Integer
Dim lr As Long, lrTarget As Long, col As Long
Set wsTarget = Sheets("Gesamtliste")
   

   
For i = 3 To 53
   
Set ws = Sheets(i)
  
  
'Letzte Zeile im Sheet(Gesamtliste) ermitteln
lrTarget = wsTarget.Cells(Rows.Count, 1).End(xlUp).Row
    With ws
        'Letzte Zeile im jeweiligen Sheet ermitteln
        lr = .Cells(Rows.Count, 1).End(xlUp).Row
        'Prüfen, ob ab Zeile 20 Werte im jeweiligen Sheet stehen
        If lr >= 20 Then
            'Durchlauf aller Zeilen ab Zeile 20 bis zur letzten verwendeten Zeile
            For j = 20 To lr
                'aktuelle Zeile kopieren
                    Set rngSource = .Range(.Cells(j, 1), .Cells(j, 18))
                        'Einträge kopieren und am Ende in Sheet("Gesamtliste") einfügen
                        If rngSource.Cells(1, 7).Value = Var1 Then
                           rngSource.Copy Destination:=wsTarget.Cells(lrTarget + 1, 1)
                           lrTarget = wsTarget.Cells(Rows.Count, 1).End(xlUp).Row
                        End If
            Next j
        End If
    End With
Next i
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
01.08.2017 08:42:30 megawunk
NotSolved
03.08.2017 08:38:58 megawunk
NotSolved
03.08.2017 11:12:08 Werner
NotSolved
Blau Einträge mit bestimmten Jahreswerten kopieren
03.08.2017 12:01:17 Gast43597
NotSolved
03.08.2017 13:18:39 Werner
NotSolved
03.08.2017 14:32:46 megawunk
Solved
03.08.2017 19:41:52 Werner
Solved