Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
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

bei Differenz Daten vervielfachen

bei Differenz Daten vervielfachen
13.02.2014 23:16:20
bernie
Hallo Leute,
wieder mal ein Problem. In der Tabelle habe ich zwei Datumswerte von-bis.
Ich möchte per vba die Differenz zwischen den beiden Datumswerten berechnen lassen.
Ist der Wert größer 1 soll die Zeile kopiert und der erste Datumswert um 1 erhöht werden.
Für Eure Hilfe wäre ich sehr dankbar - das von Hand zu bewerkstelligen ist einfach zäh.
https://www.herber.de/bbs/user/89275.xlsx

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bei Differenz Daten vervielfachen
14.02.2014 01:59:48
Erich
Hi Bernie,
probier mal

Option Explicit
Sub Vielfach()
Dim lngQ As Long, arQ, arZ()
Dim qq As Long, zz As Long, tt As Long, cc As Long
' Quelldaten in Array
lngQ = Cells(Rows.Count, 1).End(xlUp).Row - 1
arQ = Cells(2, 1).Resize(lngQ, 5)
' Anzahl ermitteln
For qq = 1 To lngQ
tt = tt + arQ(qq, 2) - arQ(qq, 1)
Next qq
ReDim arZ(1 To tt, 1 To 6)
' neues Array
For qq = 1 To lngQ
For tt = 0 To arQ(qq, 2) - arQ(qq, 1) - 1
zz = zz + 1
arZ(zz, 1) = arQ(qq, 1) + tt
For cc = 2 To 5
arZ(zz, cc) = arQ(qq, cc)
Next cc
arZ(zz, 6) = arQ(qq, 2) - arZ(zz, 1)
Next tt
Next qq
' Array ausgeben
Cells(2, 1).Resize(UBound(arZ), UBound(arZ, 2)) = arZ
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: bei Differenz Daten vervielfachen
14.02.2014 06:34:21
bernie
Hallo Erich vom Camp-Lintfort
bei mir kommt eine Fehlermeldung. Irgendwo fehlt was, aber wo?
Gruß Bernie

AW: bei Differenz Daten vervielfachen
14.02.2014 07:17:50
bernie
Hallo Erich,
habs nochmals getestet - jetzt läuft es perfekt.
Wenn ich von 50 Proz. von dem beherrschen würde.... wäre ich auf 100 Prozent.
Vielen Dank Bernie

AW: bei Differenz Daten vervielfachen
16.02.2014 22:58:09
bernie
Hallo Spezialisten,
Erich hat mir bei meinem Problem geholfen. Vermutlich hatte ich mich etwas schräg ausgedrückt.
Das Marko sollte mir nicht nur die Daten verdoppeln, deren Differenz größer 1 ist, sondern auch die ausgeben, welche von / bis am gleich Tag sind.
Wenn die Diff. z.B. vom 01.02.2011 - 05.02.2011 vier ist, müsste vorne bis einschl. 5 erhöht werden.
Erst wenn ich diese Zeilen habe, könnte ich mit den Daten einer anderen Tabelle abgleichen.
Kann mir da noch jemand helfen?
Besten Dank im Voraus.
Bernie

Anzeige
ein paar Sätze mehr
17.02.2014 01:10:31
Erich
Hi Bernie,
in der Tat, das ging aus deiner Problemstellung wirklich nicht hervor. "Größer 1" hieße hier ja "ab 2"...
Aber das ist kein Beinbruch und schnell zu heilen. Nur zwei Zeilen müssen ein wenig geändert werden:
ReDim arZ(1 To tt, 1 To 6)
in
ReDim arZ(1 To tt + lngQ, 1 To 6)
For tt = 0 To arQ(qq, 2) - arQ(qq, 1) - 1
in
For tt = 0 To arQ(qq, 2) - arQ(qq, 1)
Klarer wäre die Problemstellung von vornherein gewesen, wenn du in deiner Beispielmappe nicht nur 4 Quellsätze
sondern auch das komplette (per Hand erstellte) Ergebnis gepostet hättest.
Dann hätte man sehen können, dass aus den 4 Sätzen nicht 17, sondern 21 werden sollen.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: bei Differenz Daten vervielfachen
17.02.2014 08:33:56
bernie
Hallo Erich,
das läuft jetzt super durch - nur noch eine Frage, wie bekomme ich das hin, dass mir alles als TEXT ausgegeben wird. Meine Geokoordinaten sind nämlich leider bei der aktuellen Ausgabe verstrahlt z.B.
Länge 908.1234 - sprich alles soll so ausgegeben werden wie eingelesen.
Besten Dank - Grüsse aus BAD

Ausgabe als Text
17.02.2014 12:01:51
Erich
Hi Bernie,
was passiert, wenn du die Spalten, in denen Text stehen soll (das sind wohl nicht die Spalten A, B und F),
also wohl die Spalten D:E, vor dem Prozedurstart mit "Text" formatierst?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: bei Differenz Daten vervielfachen
17.02.2014 13:02:10
bernie
Hallo Erich,
gerade wenn ich auf TEXT formatiert habe (ich brauche die vorgestellte NULL wenn Längengrad kleiner 10 ist), z.B.
Längengrad Breitengrad
09,01592 48,26134
passiert nach der Vervielfachung dieses Ausgabe, sprich ich bekomme die 1000 er Trennung und nicht das Eingangsformat
Längengrad Breitengrad
901.592 4.826.134
Die Frage ist, wie ich das Array 1-1 ausgeben kann.
Gruß Bernie

bitte genauer
17.02.2014 13:32:36
Erich
Hi Bernie,
das verstehe ich so nicht.
In deiner Mappe 89275.xlsx steht in Zelle B2 der
Wert 8,674173 (Zahl, zu sehen in der Bearbeitungsleiste)
Zahlenformat der Zelle ist Standard
in der Zelle angezeigt wird auch 8,674173
Da sehe ich weder einen Punkt noch eine führende Null noch ein Textformat.
Und ich sehe nicht, wo die führende Null herkommen könnte.
Was genau steht jetzt bei dir in dieser Zelle (vor dem Start der Prozedur)?
Wert:
Zahlenformat:
Anzeige in der Zelle:
Und was steht da nach dem Prozedurlauf?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: bitte genauer
17.02.2014 20:44:24
bernie
Hallo Erich,
hattest recht mit der ersten Tabelle. Musst das ändern und hatte es nicht bemerkt.
Habe die vervielfachte Tabelle erneut angehängt, damit man sieht was ich meine.
Gruß und schon Vorab besten Dank
Bernie
https://www.herber.de/bbs/user/89329.xlsm

komplette Spalten als Text formatieren
18.02.2014 00:37:59
Erich
Hi Bernie,
du hattest nicht die Spalten D:E als Text formatiert, sondern nur die Zellen D2:E5.
Es kommt auch auf das Format der Zellen unterhalb der Quellzellen an, in die etwas geschrieben wird.
Probier mal was passiert, wenn du einfach die Spalten D:E markierst, Format "Text" einstellst
und dann das Makro laufen lässt - wie ich das geschrieben hatte. :-)
Ist es Absicht, dass C2:C6 als Datum formatiert sind?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: komplette Spalten als Text formatieren
20.02.2014 00:10:01
bernie
Hallo Erich,
die Formatierung in A2 - E5 war so gewollt.
Darunter das Ergebnis der Verdoppelung als Beispiel.
Gruß Bernie

jetzt alles ok?
20.02.2014 02:07:44
Erich
Hi Bernie,
aus deiner Antwort geht nicht so recht hervor, ob jetzt alles klar ist und so funktioniert wie du das möchtest.
Ich hatte geschrieben:
"Probier mal was passiert, wenn du einfach die Spalten D:E markierst, Format "Text" einstellst
und dann das Makro laufen lässt"

Was passiert?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

AW: jetzt alles ok?
20.02.2014 22:50:08
bernie
Hallo Erich,
stand wohl irgendwie auf Schlauch. Nachdem ich die falschen Einträge gelöscht, alle Zellen D:E auf TEXT formatiert hatte, lief alles glatt durch.
Und damit ist mir sehr geholfen.
Nochmals ganz herzlichen Dank für Deine Geduld und Hilfe.
Gruß Bernie aus BAD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige