ich habe ein ziemlich kurioses Problem und auch noch fünf Stunden bin ich der Lösung keinen Schritt weiter ...
Ich lese Daten aus der Zwischenablage in Calc ein.
Die Eingabedaten sehen so aus:
Der Code zum Einlesen:27.08.2010 04:48:01,C,36,5
27.08.2010 05:03:01,C,36,5
27.08.2010 05:18:01,C,36,4
27.08.2010 05:33:01,C,36,25
27.08.2010 05:48:01,C,36,3
27.08.2010 06:03:01,C,36,3
27.08.2010 06:18:01,C,36,3
Code: Alles auswählen
oClipboardHandle = createUnoService("com.sun.star.datatransfer.clipboard.SystemClipboard")
oData = createUnoService("com.sun.star.datatransfer.XTransferable")
oData = oClipboardHandle.getContents()
oDataTypSeq = oData.getTransferDataFlavors() 'Array aller Inhalte
sWerte = oData.getTransferData(oDataTypSeq(0))
sWerte = Replace(sWerte, ",C,", " ")
sWerte = Replace(sWerte, " ", chr(9))
vZeilen = Split(sWerte, chr(13))
j = iSchluss + 1
For i = 0 To (UBound(vZeilen) - 1)
vTeile = Split(Trim(vZeilen(i)), chr(9))
If UBound(vTeile) >= 2 Then
oSheet.getCellRangeByName("V" & j).FormulaLocal = Format(vTeile(0), "mm.dd.yyyy")
oSheet.getCellRangeByName("W" & j).FormulaLocal = vTeile(1)
oSheet.getCellRangeByName("X" & j).FormulaLocal = CDbl(vTeile(2))
j = j + 1
End If
Next
Soweit, so gut.
Jetzt bekommt es Calc aber hin, das Datum beim ersten Eintrag anders zu formatieren, als bei den anderen, d.h. beim ersten Eintrag ist es noch eine Zahl, die nur anders angezeigt wird. Bei den nächsten ist es jedoch wirklich das Datum als Text:
Zur Veranschaulichung, so sieht das dann aus, wenn man die Formatierung rausnimmt:
An sich könnte mir das ja egal sein, aber ich möchte aus dem ganzen Wust, den ich da einlese, die Duplikate rausfiltern.Zelle S2: 40417
Zelle S3: 27.08.2010
Und hier rafft der Filter das nicht, weil ja in den Zellen irgendwie schon etwas anderes drinsteht.
Ich habe jetzt schon alles versucht:
Die Werte nicht in:
Code: Alles auswählen
oSheet.getCellRangeByName("V" & j).FormulaLocal = Format(vTeile(0), "mm.dd.yyyy")
--> keine Verbesserung
Dann wollte ich eben nach dem Filter prüfen, ob Zelle S1 und S2 den gleichen Inhalt haben und dann eine rauslöschen, denn es betrifft nur dieses erste Duplikat ...
Aber hier bekomme ich den Vergleich einfach nicht hin, ich schaffe es nicht, die beiden Zellen in eine Variable auf das gleiche Format zu matchen.
cDate Umwandlung klappt bei Zelle S3 nicht, wenn beides strings sind, meint er, es ist nicht gleich.
Ich weiß inzwischen wirklich nicht mehr weiter ...
Habt ihr Ideen dazu?
Ich hänge euch einmal die Tabelle an, vielleicht habt ihr ja eine Idee?
Die txt Datei mit den Eingabedateien durfte ich nicht anhänge, daher hier noch en paar davon:
LG27.08.2010 04:48:01,C,36,5
27.08.2010 05:03:01,C,36,5
27.08.2010 05:18:01,C,36,4
27.08.2010 05:33:01,C,36,25
27.08.2010 05:48:01,C,36,3
27.08.2010 06:03:01,C,36,3
27.08.2010 06:18:01,C,36,3
27.08.2010 06:33:01,C,36,3
27.08.2010 06:48:01,C,36,3
27.08.2010 07:03:01,C,36,3
27.08.2010 07:18:01,C,36,3
27.08.2010 07:33:01,C,36,35
27.08.2010 07:48:01,C,36,35
27.08.2010 08:03:01,C,36,4
27.08.2010 08:18:01,C,36,5
27.08.2010 08:33:01,C,36,5
27.08.2010 08:48:01,C,36,5
27.08.2010 09:03:01,C,36,4
27.08.2010 09:18:01,C,36,4
27.08.2010 09:33:01,C,36,5
27.08.2010 09:48:01,C,36,5
27.08.2010 10:03:01,C,36,55
27.08.2010 10:18:01,C,36,6
27.08.2010 10:33:01,C,36,65
31.08.2010 01:03:01,C,36,9
31.08.2010 01:18:01,C,36,85
31.08.2010 01:33:01,C,36,8
31.08.2010 01:48:01,C,36,75
31.08.2010 02:03:01,C,36,6
31.08.2010 02:18:01,C,36,55
31.08.2010 02:33:01,C,36,55
31.08.2010 02:48:01,C,36,55
31.08.2010 03:03:01,C,36,6
31.08.2010 03:18:01,C,36,6
31.08.2010 03:33:01,C,36,6
31.08.2010 03:48:01,C,36,6
31.08.2010 04:03:01,C,36,6
31.08.2010 04:18:01,C,36,6
31.08.2010 04:33:01,C,36,55
Entchen, die momentan über dem Basic ziemlich gefrustet sitzt ...