Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Liste kopieren die Zweite





Frage

Hallo, Beim letzten mal (https://supportnet.de/threads/1413277) hatte ich gefragt wie man aus einer großen Tabelle einen Teil bis zu einer bestimmten Zeile herauskopiert. JöKes Antwort war mir auch sehr hilfreich, bloß hab ich jetzt folgendes Problem: Wenn in der Spalte mit den Kalenderwochen (Tabelle1) diejenige fehlt, nach der laut Suchkriterium in der Zelle in Tabelle2 gesucht wird, kopiert er überhaupt nichts. Er sollte aber bis zu der Zeile kopieren die den nächstkleineren Wert aufweist. Bsp: [b]Suchkriterium[/b]: 5 [b]Tabelle:[/b] 1 Hubert klein 2 Berta groß 3 Anton schmal 6 Resi breit Er sollte jetzt alles bis zum Anton in eine andere Tabelle speichern. Code von JöKe: [b]Option Explicit Sub Kalenderwoche() Dim iKW As Integer, rngSuch As Range iKW = Sheets("Tabelle2").Range("A1") For Each rngSuch In Sheets("Tabelle1").Range("A1:A53") If rngSuch = iKW Then Sheets("Tabelle1").Rows("2:" & rngSuch.Row).Copy _ Destination:=Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) End If Next End Sub [/b]

Antwort 1 von JoeKe

Moin Mario,

so:

Option Explicit

Sub KalenderwocheII()
Dim iSuche As Integer
Dim iKW As Integer, rngSuch As Range
iKW = Sheets("Tabelle2").Range("A1")
iSuche = Application.WorksheetFunction.VLookup(iKW, Sheets("Tabelle1"). _
Range("A1:C53"), 1)
For Each rngSuch In Sheets("Tabelle1").Range("A1:A53")
If rngSuch = iSuche Then
Sheets("Tabelle1").Rows("2:" & rngSuch.Row).Copy _
Destination:=Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End If
Next
End Sub


Der Bereich Range("A1:C53") muss noch deiner Tabelle angepasst werden.

Gruß

JöKe

Antwort 2 von mario1234

Vielen, vielen Dank

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: