Härry_Otter
Newbie
- Registriert
- Apr. 2012
- Beiträge
- 1
Hallo zusammen!
Ich bitte um Hilfe bei folgendem Problem mit Excel 2010:
In Tabelle 1 soll eine bestimmte Reihe auf Zahlenwerte untersucht werden. Die Reihen, bei welchen die Zahlen über einem definierten Wert liegen, sollen in Tabelle 2 kopiert werden. Bei einer anderen Größendefinition, in ein anderes Tabellenblatt (hier Tabelle 3), bzw. nach weiteren Definitionen in weitere Blätter.
Nach stundenlanger Suche habe ich im Netz u.s. Code gefunden. Klappt auch super. Nur leider gelingt es mir nicht "dem Code begreiflich zu machen", dass er die Werte ab einer bestimmten Zeilennummer (z.B. ab Zeile 5) in die Zieltabellen einfügen soll. Die Werte werden immer ab Zeile 2 eingefügt.
Bin für jede Hilfestellung Dankbar!
Grüße, Guido
Private Sub CommandButton1_Click()
Dim lngI As Long
With Worksheets("Tabelle1")
For lngI = .Range("A65536").End(xlUp).Row To 2 Step -1
If .Cells(lngI, 6).Value > 70 Then
With Worksheets("Tabelle2")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
If .Cells(lngI, 6).Value > 49 And .Cells(lngI, 6).Value < 70 Then
With Worksheets("Tabelle3")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Next lngI
End With
End Sub
_____________________________________________________________
Selbst gelöst. Sicher keine "Spezialisten-Lösung", aber es funzt:
Private Sub CommandButton1_Click()
Dim lngI As Long
Dim Z As Long
Dim X As Long
For Z = 1 To 3
Next Z
For X = 1 To 3
Next X
With Worksheets("Tabelle1")
For lngI = .Range("A65536").End(xlUp).Row To 2 Step -1
If .Cells(lngI, 6).Value > 70 Then
With Worksheets("Tabelle2")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Offset(Z, 1).Row + 1, 1)
Z = 0
End With
End If
If .Cells(lngI, 6).Value > 49 And .Cells(lngI, 6).Value < 70 Then
With Worksheets("Tabelle3")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Offset(X, 1).Row + 1, 1)
X = 0
End With
End If
Next lngI
End With
End Sub
Falls es eine "fachmännischere" Lösung geben sollte, würde ich mich trotzdem über eine Antwort freuen.
Ich bitte um Hilfe bei folgendem Problem mit Excel 2010:
In Tabelle 1 soll eine bestimmte Reihe auf Zahlenwerte untersucht werden. Die Reihen, bei welchen die Zahlen über einem definierten Wert liegen, sollen in Tabelle 2 kopiert werden. Bei einer anderen Größendefinition, in ein anderes Tabellenblatt (hier Tabelle 3), bzw. nach weiteren Definitionen in weitere Blätter.
Nach stundenlanger Suche habe ich im Netz u.s. Code gefunden. Klappt auch super. Nur leider gelingt es mir nicht "dem Code begreiflich zu machen", dass er die Werte ab einer bestimmten Zeilennummer (z.B. ab Zeile 5) in die Zieltabellen einfügen soll. Die Werte werden immer ab Zeile 2 eingefügt.
Bin für jede Hilfestellung Dankbar!
Grüße, Guido
Private Sub CommandButton1_Click()
Dim lngI As Long
With Worksheets("Tabelle1")
For lngI = .Range("A65536").End(xlUp).Row To 2 Step -1
If .Cells(lngI, 6).Value > 70 Then
With Worksheets("Tabelle2")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
If .Cells(lngI, 6).Value > 49 And .Cells(lngI, 6).Value < 70 Then
With Worksheets("Tabelle3")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1)
End With
End If
Next lngI
End With
End Sub
_____________________________________________________________
Selbst gelöst. Sicher keine "Spezialisten-Lösung", aber es funzt:
Private Sub CommandButton1_Click()
Dim lngI As Long
Dim Z As Long
Dim X As Long
For Z = 1 To 3
Next Z
For X = 1 To 3
Next X
With Worksheets("Tabelle1")
For lngI = .Range("A65536").End(xlUp).Row To 2 Step -1
If .Cells(lngI, 6).Value > 70 Then
With Worksheets("Tabelle2")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Offset(Z, 1).Row + 1, 1)
Z = 0
End With
End If
If .Cells(lngI, 6).Value > 49 And .Cells(lngI, 6).Value < 70 Then
With Worksheets("Tabelle3")
Rows(lngI).Copy .Cells(.Range("A65536").End(xlUp).Offset(X, 1).Row + 1, 1)
X = 0
End With
End If
Next lngI
End With
End Sub
Falls es eine "fachmännischere" Lösung geben sollte, würde ich mich trotzdem über eine Antwort freuen.
Zuletzt bearbeitet: