Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeile nach Bedingung Duplizieren
#1
Juten Tag,

ich bin immernoch an der Vorbereitung meines Datensatzes. (hier)

Und nun stellt sich das nächste Problem.

Ich habe 2 Spalten, eine mit dem Beitrittsdatum und eine mit dem Ausstiegstdatum. Mich interessieren vor allem Quartale, so habe ich die Daten schon mal in Quartale in der Form JahrQuartal (z.Bsp.: 20101) umgeformt. Als nächstes wollte ich die Dauer der Beobachtung ermitteln.
Das habe ich mit den Links und Rechts befehlen gemacht und einer Hilfspalte zum berechnen: (End_Jahr-Anfangs_Jahr)*4+End_Periode-Anfangs_Periode+1
So habe ich nun eine Spalte mit der absoluten Zahl des Beobachtungszeitraums in Quartalen.
Die nächsten Schritt sind nun ein wenig komplizierter:
1. Jetzt würde ich gerne jeden Datensatz gemäß der absoluten Zahl der Beobachtungsquartale vervielfachen.

[2. Danach sollten diese Duplizierten Zeilen in einer Quartalsspalte die durchlaufenden Werte von Anfangs- bis Endperiode aufweisen.
3. Außerdem habe ich einen Preis zur ersten Periode und einen zur letzten. Es wäre optimal wenn erste und letzte die jeweiligen Preise aufweisen und alle dazwischenliegenden den Durchschnittswert der beiden Preise]

Aber eins nach dem anderen habt ihr eine Idee für den 1. Schritt?

Ich freue mich auf Hilfe und Anregungen.

Beste Grüße, Felix
Antworten Top
#2
Hallöchen,

mal noch eine Frage. Wohin sollen die denn vervielfältigt werden?

Im Prinzip holst Du Dir die Anzahl und fügst die Zeile entsprechend oft ein oder darunter oder …. Hier mal ein Schnipsel zum drunter einfügen, ungetestet weil hier geschrieben Smile
Code:
'erste freie Zeile feststellen
iRow = Cells(Rows.Count,1).End(XlUp).Row + 1
'Zeilenzaehler zum Einfuegen setzen
jRow = iRow
'Schleife ueber alle vorhandenen Datensaetze, Zeile 1 = Ueberschrift
For iCnt1 = 2 to iRow - 1
'Anzahl aus Spalte E = 5 holen
iCopyCnt = Cells(iCnt,5).Value
'Kopieren, ganze Zeile
'Rows(iCnt).Copy
'Schleife zum Einfuegen
For jCnt = 1 to iCopyCnt
Cells(jRow,1).Paste
'Zeilenzaehler hochsetzen
jRow=jRow+1
'Ende Schleife zum Einfuegen
Next
'Ende Schleife ueber alle vorhandenen Datensaetze, Zeile 1 = Ueberschrift
Next
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#3
(28.06.2018, 04:26)schauan schrieb:
Code:
'erste freie Zeile feststellen
iRow = Cells(Rows.Count,1).End(XlUp).Row + 1
Hi Andre,
vielen Dank für deine Hilfe. Ich kenne mich leider nicht mit VBA aus. Ich habe den Code mal so kopiert und nur "aus Spalte W=23 holen...Cells(iCnt, 23). Value" abgeändert. in Spalte W stehen das die Quartale als Werte im Standartformat
Wenn ich dann die erste Zeile Makiere und Makro ausführen Klicke kommt die Fehlermeldung.
Laufzeitfehler '1004'
Was ist mit deinem kommentar "erste freie Zeile feststellen" macht das das darauffollgende Kommando? Ich habe eine Überschrift Zeile und danach gehts los.
Antworten Top
#4
Hallo Felix,

Zitat:mit 
iRow = Cells(Rows.Count,1).End(XlUp).Row

bekommst Du die letzte benutzte Zeile zu fassen

mit dem
iRow = Cells(Rows.Count,1).End(XlUp).Row + 1
dem + 1 gibt es dann natürlich die erste freie Zeile 

und das
... (Rows.Count,1) ...
bestimmt, daß die Suche sich auf die erste Spalte
also auf die Spalte A bezieht.

________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Hallo Felix,

in welcher Zeile kommt denn der Fehler 1004?

Ich habe in dieser Zeile
'Rows(iCnt).Copy

vorne noch ein Hochkomma, das muss weg, sonst wird nix kopiert Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste