Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1152to1156
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilen mit Eintrag in bestimmter Spalte kopieren

Zeilen mit Eintrag in bestimmter Spalte kopieren
Kai
Hallo,
ich habe eine Arbeitsmappe mit Teilnehmern an einem Projekt auf dem ersten Blatt. In den ersten Spalten stehen die Namen und Nummern, in folgenden Spalten eird eingetragen, welche Voraussetzungen die Teilnehmer schon erfüllt haben (dann gibt es eine "1") und welche eben nicht (dann gibt es keinen Eintrag). Nun sollen die Teilnehmer, die z.B. in der 5.Spalte eine "1" haben komplett auf das 2.Blatt kopiert werden (sprich die gesamte Zeile des Teilnehmers), die Teilnehmer, die in der 6.Spalte eine "1" haben sollen komplett auf das 3. Blatt kopiert werden (wieder die gesamte Zeile) usw., damit man dort nochmal jeweils eine Zusammenfassung hat. Ich würde das mit meinen bescheidenen Kenntnissen, die sich im Wesentlichen auf "SUMME", "MITTELWERT" und "WENN" beschränken (VBA kenne ich gar nicht!), wohl nur über eine sehr verschachtelte "WENN"-Funktion hinbekommen (sind knapp 100 Teilnehmer) oder müsste die ganzen Leerzeilen mitkopieren, was ich beides nicht für wirklich sinnvoll halte. Vielleicht könnt ihr mir einen Tipp geben, wie ich das anstellen kann.
Danke schon mal.
Kai

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilen mit Eintrag in bestimmter Spalte kopieren
06.05.2010 22:44:17
fcs
Hallo Kai,
Formellösungen gäbe es auch - checke mal www.excelformeln.de. Die sind hier aber ziemlich komlex.
Nachfolgend das Grundgerüst für ein Makro zur Übertragung der Zeileninhalte. Dabei werden die Zellwerte übertragen, keine Formeln.
Gruß
Franz
Sub WerteUebertragen()
Dim wksQuelle As Worksheet, ZeileQ As Long, Spalte As Long, iI As Long
Dim wksZiel As Worksheet, ZeileZ
Set wksQuelle = Worksheets(1)
Application.ScreenUpdating = False
'Vorhandene Daten in den Zielblättern vor dem Kopieren ab zeiel 2 löschen
For iI = 2 To 4  '4 anpassen an Zahl der Zielblätter
Set wksZiel = Worksheets(iI)
With wksZiel
ZeileZ = .Cells.SpecialCells(xlCellTypeLastCell).Row
If ZeileZ >= 2 Then
.Range(.Rows(2), .Rows(ZeileZ)).ClearContents
End If
End With
Next
'Spalten F bis G auf Blatt 1 abarbeiten
For Spalte = 5 To 7 '7 anpassen an die Zahl der zu prüfenden Spalten im Blatt 1
'Zielblatt auf Basis der Spaltennummer setzen
Set wksZiel = Worksheets(Spalte - 3)
ZeileZ = 1 'Zeile mit den Spaltentiteln in den Zielblättern
With wksQuelle
'Zeilen in Spalte prüfen und ggf. Zeile kopieren
For ZeileQ = 2 To .Cells(.Rows.Count, Spalte).End(xlUp).Row
If .Cells(ZeileQ, Spalte) = 1 Then
ZeileZ = ZeileZ + 1
.Rows(ZeileQ).Copy
wksZiel.Rows(ZeileZ).PasteSpecial Paste:=xlPasteValues
End If
Next
End With
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Anzeige

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige