PDA

Vollständige Version anzeigen : Gewisse Zellen einer Zeile kopieren, wenn 2 Bedingungen erfüllt


Angelo_ZH
21.09.2011, 10:51
Liebe Excel-VBA-Fans

Vielleicht kann mir jemand helfen:

Schaut Euch bitte das angehängte Excel-File (Excel 2003) an.

Ich habe eine Tabelle mit theoretisch x-beliebigen Zeilen. Nun möchte ich jeweils zeilenweise, die Zellen in der Spalte "Projekt", "Ort" und "Preis" in das Sheet "Ziel" ab z. B. der Zeile 15 kopieren, wenn die Bedingungen Typ = 1 und Jahr = 2012 erfüllt sind.

Nachdem alle Zellen in das Sheet Ziel kopiert worden sind, möchte ich gerne, dass der Code den letzen Eintrag in Spalte Preis findet, eine Zeile leer lässt und dann die Gesamtsumme berechnet.

Ich bedanke mich für jede Hilfe!
Grüsse aus Zürich
Angelo

DeBabba
21.09.2011, 11:17
Hi Angelo,

eigentlich brauchst Du nur ein "If Then Else" script zu bauen
ach naja.... schau mal hier

Sub marine()

Dim A, B, Typ, jahr
Dim Projekt, Preis, Ort
'erst mal zeilen zählen
Sheets("Quelle").Activate
A = Range(Cells(1, 1), Cells(1, 1).End(xlDown)).Rows.Count
'jetzt ne Schleife
For B = 2 To A ' solange wie einträge vorhanden sind
Cells(B, 1).Select 'kann man weglassen zeigt aber wo man ist
'die benötigten Felder in variablen einlesen
Projekt = Cells(B, 1).Value
Ort = Cells(B, 3).Value
Preis = Cells(B, 5).Value
Typ = Cells(B, 4).Value
jahr = Cells(B, 7).Value
'jetzt vergleichen
If Typ = 1 And jahr = 2012 Then
Sheets("Ziel").Activate
Cells(1000, 1).End(xlUp).Offset(1, 0).Select
ActiveCell = Projekt
ActiveCell.Offset(0, 1) = Ort
ActiveCell.Offset(0, 2) = Preis
Sheets("Quelle").Activate
End If

Next
End Sub

Hoffe, es hilft Dir

Gruß
DeBabba

Angelo_ZH
21.09.2011, 11:43
Hallo DeBabba

Dein Code sieht gut aus - vielen Dank!

Ich werde Dir asap feedback geben.

Grüsse
Angelo

Angelo_ZH
26.09.2011, 12:15
Hallo DeBabba

Der Code hat bei mir leider nicht richtig funktioniert. Habe schliesslich das Problem mit wenn-, index- und vergleich-Funktionen gelöst...

Danke und Gruss
Angelo