Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1156to1160
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

Schleife in der Schleife (Fortsetzung)

Schleife in der Schleife (Fortsetzung)
Martin
Hallo Erich,
ich schaffe es einfach nicht auf deinen Beitrag zu ID 1156864 zu antworten... dein Code funktioniert super! Jetzt habe ich aber noch ein "optisches" Problem: In der Hilfstabelle wird für jedes Währungspaar ein Datum reinkopiert in dem Format 19.05.2010. Da dies die x-Achse der Grafik wird hätte ich aber gerne nur 19.5 stehen. Die Funktion DateValue ist aber leider mit dem Typen nicht verträglich. Deshalb habe cih versucht, eine weitere Spalte einzufügen um die Funktion DateValue direkt in Excel (und nicht in VBA) zu machen denn da klappt es. Ich scheitere aber daran, deinen Code in diese Richtung zu verändern, dass die zweite Splate jeder Hilfstabelle leer bleibt, dh
arrE(2 + 5 * lngT, 1 + lngE(lngT)) = arrQ(lngQ, 4)
soll erst in der dritten Spalte stehen und nicht in der zweiten. Danke für deine Hilfe! Hier noch mal der ganze Code:
Sub Uebertrage5()
Dim arrT, arrQ, lngE() As Long, lngQ As Long, lngT As Long, arrE(), lngM As Long
arrT = Split("EUR/CHF EUR/GBP EUR/JPY USD/JPY EUR/USD GBP/USD")   ' Währungen
With Worksheets("MTD_per_Day")          ' Quellblatt
arrQ = .Cells(1, 1).Resize(.Cells(.Rows.Count, 2).End(xlUp).Row, 8)
End With
ReDim lngE(UBound(arrT))
ReDim arrE(1 To 4 + 5 * UBound(arrT), 1 To UBound(arrQ))
For lngQ = 1 To UBound(arrQ)
For lngT = 0 To UBound(arrT)
If arrQ(lngQ, 2) = arrT(lngT) Then
arrE(1 + 5 * lngT, 1 + lngE(lngT)) = arrQ(lngQ, 3)
arrE(2 + 5 * lngT, 1 + lngE(lngT)) = arrQ(lngQ, 4)
arrE(3 + 5 * lngT, 1 + lngE(lngT)) = arrQ(lngQ, 6)
arrE(4 + 5 * lngT, 1 + lngE(lngT)) = arrQ(lngQ, 8)
lngE(lngT) = lngE(lngT) + 1
End If
Next lngT
Next lngQ
lngM = Application.Max(lngE)
ReDim Preserve arrE(1 To 4 + 5 * UBound(arrT), 1 To lngM)
With Worksheets("Hilfstabellen")          ' Ausgabeblatt
.Cells(19, 1).Resize(UBound(arrE, 2), UBound(arrE)) = Application.Transpose(arrE)
End With
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Schleife in der Schleife (Fortsetzung)
20.05.2010 10:40:18
Rudi
Hallo,
Da dies die x-Achse der Grafik wird hätte ich aber gerne nur 19.5 stehen. 

Warum formatierst du die Achse nicht einfach entsprechend?
Gruß
Rudi
AW: Schleife in der Schleife (Fortsetzung)
20.05.2010 10:59:09
Martin
Weil das Datum durch das kopieren in die Hilfstabelle in einen Text umgewandelt wird und dadurch die Formatierung der x-Achse in ein Datumsformat nicht mehr klappt.
Datum
20.05.2010 11:04:53
Rudi
Hallo,
ist das die Datumsspalte, die Text ist?
arrE(2 + 5 * lngT, 1 + lngE(lngT)) = arrQ(lngQ, 4)
Versuchs mal mit
arrE(2 + 5 * lngT, 1 + lngE(lngT)) = arrQ(lngQ, 4)*1
Ansonsten lad mal die Mappe hoch.
Gruß
Rudi
Anzeige
AW: Datum
20.05.2010 11:11:46
Martin
Bah, es klappt mit *1, vielen Dank Rudi!
Hast du zufällig noch ne Idee wie für die Monate: Momentan steht in der Hilfstabelle noch 1,2,3 etc. Ich hätte aber gerne Jan, Feb, Mar da stehen. Wenn ich die Zeile *1 nehme und dann in das Datumsformat MMM umwandele steht ÜBERALL Jan weil er 1,2,3 als die Tage erfasst und nicht als die Monatsnummer.
Ihr Jungs helft mir echt sensationell, vielen Dank!
AW: Datum
20.05.2010 11:14:59
Rudi
Hallo,
Momentan steht in der Hilfstabelle noch 1,2,3 

wie kommt das da rein?
Gruß
Rudi
AW: Datum
20.05.2010 11:22:18
Martin
Dies wird durch ein Access-Makro in Excel kopiert mit der Funktion "Monat" welche dir die Monatsnr eines Datums anzeigt
Anzeige
Ich hab keine Lust ...
20.05.2010 11:45:30
Rudi
... dir die Würmer aus der Nase zu ziehen.
Erkläre verständlich oder lass es.
AW: Ich hab keine Lust ...
20.05.2010 14:47:23
Martin
Rudi, ich weiss ehrlich gesagt nicht welche Laus dir über die Leber gelaufen ist und was nicht daran zu verstehen ist. Ich werte tausende Datensätze mit MS-Access aus weil die Reports zu gross sind für Excel. Eine Funktion in Access wandelt das Datum einer Währungstransaktion in die Nummer des Monats um, die genaue Formel in Access ist "Monat: Monat([TradeDate])", dh wenn ein Transaktion heute am 20.05.2010 stattgefunden hat spuckt die Funktion den Wert 5 für Mai aus.
Am Ende kopiert ein Marko in Access mehrere Tabellen in eine Excel-Datei. In Excel sind die Nummern der Monate nun automatisch als Zahl formatiert, formatiere ich sie in ein Datum um, zeigt Excel mir 1.1, 2.1, 3.1 etc an, dh es nimmt die Nummern als Tag und NICHT als Monatsnummer. Ich hätte da aber gerne Jan, Feb, Mar etc stehen. ich hoffe, diese Erklärung war ein wenig besser!
Anzeige
Bin raus.
20.05.2010 15:38:38
Rudi
warum lädst du nicht einfach die Datei hoch?
Ich werte tausende Datensätze mit MS-Access aus 

woher soll ich das wissen? Ist auch unwichtig
In Excel sind die Nummern der Monate 

Ich weiß noch immer nicht wo die stehen.
Mit CDate(Monat &"-2010") in ein Datum umwandeln.
Rückfragen
21.05.2010 11:27:49
Erich
Hi Martin,
obwohl ich Rudi und sein Aussteigen hier gut verstehen kann, sollst du noch eine Chance haben.
Zunächst:
Du beziehst dich auf die Vorgeschichte im Thread https://www.herber.de/forum/archiv/1156to1160/t1156864.htm
Da ging es am Schluss um dynamische Quellbereiche für die Diagramme mittels Namen.
Passt das mit den Namen und Diagrammen jetzt?
Was du jetzt schreibst, passt nicht zu deiner Beispielmappe, die du im alten Thread als 69625.xls hochgeladen hast.
In dieser Mappe kommt kein Datum vor, auch nicht als Text. Es entstehen etliche weitere Fragen:
"In der Hilfstabelle wird für jedes Währungspaar ein Datum reinkopiert"
Wie wird kopiert? Welches Datum? Wie sieht diese Hilfstabelle jetzt aus?
"Weil das Datum durch das kopieren in die Hilfstabelle in einen Text umgewandelt wird"
Kopieren ändert doch keinen Datentyp, oder? Wie geschieht das denn? Hier dürfte das Problem liegen...
"Ich hätte da aber gerne Jan, Feb, Mar etc stehen."
Sollen das Texte sein - oder mit MMM formatierte Datumse? Das ist ein großer Unterschied...
Alles in allem:
Ohne ausreichende Antworten, Beispielmappe und genauere Aufgabenstellung gibt es wohl keine Lösung.
In der Beispielmappe sollte ersichtlich sein, wie es jetzt ist und - mit einem Blatt "Hilfstabelle-Soll"
und einem Blatt "Diagramm-Soll" - wie es werden soll.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige