Seite 1 von 1
OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Di, 08.07.2008 17:17
von thiro
Hi,
Code: Alles auswählen
MsgBox("R: " & R & Chr(13) & "DAT: " & DAT & Chr(13) & "TEX: " & TEX)
DAT = CStr(Date)
TEX = CStr(Cells(R, 3).Value)
MsgBox("R: " & R & Chr(13) & "DAT: " & DAT & Chr(13) & "TEX: " & TEX)
TEM = CInt((Mid(DAT, 4, 2)) - CInt(Mid(TEX, 4, 2)))
If ( TEM >= 3 ) Then
Die MsgBoxen dienen nur zum debuggen...
DAT = Aktuelles Datum
TEX = Ein altes Datum das in einer Zelle steht (bei Initialisierung das aktuelle Datum)
R = Ein simpler Reihenindex der, in der Schleife, immer um 1 erhöht wird
TEM = Das soll also Demnach das Ergebnis von aktueller Monat - alter Monat sein
Danach kommt nur noch: wenn TEM >= 3 dann...
1tes Problem:
Vor dem Auslesen der Zelle für TEX, steht in TEX das aktuelle Datum: RICHTIG
Nach dem Auslesen der Zelle für TEX, steht in TEX eine 5-Stellige Zahl (39365): FALSCH <-- Warum steht da nicht das alte Datum???
2tes Problem:
Fehlermeldung und Stop des Programms bei TEM-Zeile:
Unzulässiger Wert oder Dateityp.
Dateitypen unverträglich.
Dabei Hab ich doch extra die vielen CInt und CStr Dinger eingebaut damit so ein Fehler nicht vorkommen soll...
Was ist da falsch???
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Do, 10.07.2008 09:40
von komma4
thiro hat geschrieben:Nach dem Auslesen der Zelle für TEX, steht in TEX eine 5-Stellige Zahl (39365): FALSCH <-- Warum steht da nicht das alte Datum???
...weil die Zelle das Datum
10.Oktober 2007 anzeigt ... und Du dir den nummerischen WAert holst und anzeigen lässt.
Verwechsle nicht Zellinhalt und angezeigtes Format!
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Do, 10.07.2008 13:22
von thiro
hm und die Lösung für das Problem??? Kann man das dann nicht umwandeln??
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Do, 10.07.2008 20:06
von Karolus
Hallo
Du bist etwas knausrig mit deinen Informationen !
Funktionierts mit:
Gruß Karo
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Do, 10.07.2008 20:55
von thiro
Karolus hat geschrieben:Hallo
Du bist etwas knausrig mit deinen Informationen !
Funktionierts mit:
Gruß Karo
Nep da kommt als Fehlermeldung bei der Zeile:
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden.
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Do, 10.07.2008 21:05
von Karolus
Hallo
Na dann liefer mal den kompletten Code damit wir nachschauen können wo es klemmt.
Gruß Karo
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Do, 10.07.2008 21:12
von thiro
Karolus hat geschrieben:Hallo
Na dann liefer mal den kompletten Code damit wir nachschauen können wo es klemmt.
Gruß Karo
Bitte, es wird zwar leicht unüberschaubar weil ihr die Tabelle mit den Einträgen nicht habt aber, vlt findet ja einer den Fehler...
Code: Alles auswählen
Rem Attribute VBA_ModuleType=VBADocumentModule
Option VBASupport 1
Private Sub GO_Click()
Dim R As Integer
Dim FIR As Integer
Dim ANF As Integer
Dim POS As Integer
Dim NEG As Integer
Dim ANT As Integer
Dim KEI As Integer
Dim DAT As String
Dim TEX As String
Dim TEM As Integer
R = 6
FIR = 0
ANF = 0
ANT = 0
POS = 0
NEG = 0
KEI = 0
DAT = Date
TEX = Date
TEM = 0
While Cells(R, 4).Value <> ""
If Cells(R, 3).Value = "" Then
Cells(R, 6).Value = "XXXXX"
Cells(R, 6).Interior.ColorIndex = 2
Else
If Cells(R, 5).Value = "" Then
Cells(R, 6).Value = "Waiting"
Cells(R, 6).Interior.ColorIndex = 6
Else
If Cells(R, 5).Value = "OK" Then
Cells(R, 6).Value = "OK"
Cells(R, 6).Interior.ColorIndex = 4
POS = POS + 1
ANT = ANT + 1
If Cells(R, 5).Value <> "" And Cells(R, 7).Value = "" Then
Cells(R, 7).Value = Date
End If
Else
Cells(R, 6).Value = "KO"
Cells(R, 6).Interior.ColorIndex = 3
NEG = NEG + 1
ANT = ANT + 1
If Cells(R, 5).Value <> "" And Cells(R, 7).Value = "" Then
Cells(R, 7).Value = Date
End If
End If
End If
End If
If Cells(R, 3).Value <> "" Then
ANF = ANF + 1
End If
FIR = FIR + 1
DAT = CStr(Date)
TEX = CStr(Cells(R, 3).Value)
MsgBox("R: " & R & Chr(13) & "DAT: " & DAT & Chr(13) & "TEX: " & TEX & Chr(13) & "Firmen: " & FIR & Chr(13) & "Anfragen: " & ANF & Chr(13) & "Antworten: " & ANT & Chr(13) & "Ignored: " & KEI & Chr(13) & "Positiv: " & POS & Chr(13) & "Negativ: " & NEG)
TEM = CInt(Mid(DAT, 4, 2)) - CInt(Mid(TEX, 4, 2))
If ( (Cells(R, 5).Value = "") AND (TEM >= 3) AND (Cells(R, 7).Value <> "XXXXX") ) Then
KEI = KEI + 1
Cells(R, 6).Value = "IGNORED"
Cells(R, 6).Interior.ColorIndex = 9
Cells(R, 7).Value = "XXXXX"
End If
R = R + 1
Wend
Cells(7, 10).Value = FIR
Cells(9, 10).Value = ANF
Cells(12, 10).Value = POS
Cells(13, 10).Value = NEG
Cells(14, 10).Value = (ANF - KEI - POS - NEG)
Cells(15, 10).Value = KEI
Cells(11, 10).Value = ANT
End Sub
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Do, 10.07.2008 22:33
von Karolus
Hallo
Ich kann leider deinen Code nicht testen, da ich hier keine OOo-version mit VBA-Support habe.
Wenn es mit '...formulalocal' nicht funktioniert probiers mit '...string'
Falls das auch nicht klappt, warte auf eine Antwort von jemanden der sich mit VBA besser auskennt und/oder wende dich an ein EXcel/VBA -Forum.
Gruß Karo
Re: OOo Basic: Problem beim einlesen von Zellen in OOo Calc
Verfasst: Fr, 11.07.2008 07:12
von thiro
String klappt auch nicht... Ich warte
Ich hab das Problem nähmlich schon in ein VBA Forum gepostet und die habe bisher auch noch keine Lösung...
------ EDIT: ------
Hat nun geklappt...
Hier der Code zur Lösung:
Code: Alles auswählen
AltesDatum = "04.12.2007" 'Beispieldatum
Dim Unterschied As Long
Unterschied = (Year(Date) - Year(CDate(AltesDatum))) * 12 + _
Month(Date) - Month(CDate(AltesDatum))