Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
696to700
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
696to700
696to700
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellwert beißt sich mit Integer Variable

Zellwert beißt sich mit Integer Variable
18.11.2005 19:40:44
Simon
Hallöchen.
Ich habe einen Zellwert, der ist =Leer. Er ist NICHT "0", sondern in der Zelle steht einfach nichts drin. Der Zellwert wird in eine Integer Variable eingelesen, aber natürlich bricht der COde beim Einlesen eines nicht vorhanden Wertes in einer Integer Variable einfach ab.
Welche Möglichkeit außer folgende könnte es noch geben:
If ActiveCell.Offset(0, 1).Value = "" Then
Integer_Variable = 0
Else
Integer_Variable = ActiveCell.Offset(0, -1).Value
End If
???
Danke, Simon

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellwert beißt sich mit Integer Variable
18.11.2005 19:46:32
MichaV
Hallo,
If IsEmpty(ActiveCell.Offset(0, 1)) Then....
Gruß- Micha
PS: Rückmeldung wäre nett.
AW: Zellwert beißt sich mit Integer Variable
18.11.2005 19:47:05
DieterB
Hallo Simon,
du kannst eine IntegerVariable nicht mit einen String belegen.
Entweder fragst du die Zelle auf 0 ab, oder du nimmst eine StringVariable.
Gruß DieterB
AW: Zellwert beißt sich mit Integer Variable
18.11.2005 20:07:30
Simon
Gibt es denn da keine Möglichkeit das Problem anders als mit der IF...Then...Else Lösung zu umgehen?
Ich habe nämlich mehrere solcher Variablen in einem Programm untergebracht, nur eben leider nicht bedacht, dass die ausgelesenen Zellen nicht immer Werte beinhalten. Die Werte sind Uhrzeiten/Dienstzeiten in Form von "0000", sprich z.B. 0630 oder 1645. Samstags und Sonntags werde ich aber oftmals nichts eintragen, somit bleiben die Zellwerte also leer, was aber die Integer Variable stört.
Ich hoffe, mein Problem ist klar geworden. Natürlich könnte ich das Problem imt der If-Then-Else Lösung beheben. Ist aber erstens sehr viel Aufwand und sieht zweitens nicht so schick aus.
Evtl. dachte ich noch an ne Lösung mit Hilfe der Formatierung der Zellen in Excel an sich?
Schönen Abend, Simon
Anzeige
AW: Zellwert beißt sich mit Integer Variable
18.11.2005 20:16:27
PeterW
Hallo Simon,
negier doch einfach den Ansatz von Micha, dann kannst du auf Else verzichten:
If Not IsEmpty(ActiveCell.Offset(0, 1)) Then
Gruß
Peter
AW: Zellwert beißt sich mit Integer Variable
19.11.2005 09:24:22
Simon
Guten Morgen.
Wäre eine schöne Lösung gewesen, aber:
If Not IsEmpty(ActiveCell.Offset(0, 1)) Then ...
Die Zelle ist zwar optisch leer, inhaltlich hat sie aber den Wert "" (siehe meine Formel weiter unten im Thread). Also klappt das leider nicht mit isempty, da sie nicht empty ist.
Danke, Simon
P.S. kann ich irgendwie die "" umgehen "wenn(Prüfung;A1;??????)"
AW: Zellwert beißt sich mit Integer Variable
18.11.2005 20:15:14
Simon
Ich habe rausgefunden, dass der Wert der Zelle leider nicht =Leer ist, sondern ="". Das kommt daher, dass ich die Dienstzeiten in einem anderen Sheet eintrage und mit einer Formel in die Zelle, welche vom VBA Programm zur Berechnung benutzt wird, übertragen wird.
Die Formel lautet:
=WENN('Tabelle1'!A4<>"";'Tabelle1'!A4;"")
Man müsste nur die "Sonst-Wert" Folge der Wenn-Formel, so ändern, dass die Integer Variable damit umgehen kann.
Danke schonmal für die Teilnahme an meinem Problem, Simon
Anzeige
AW: Zellwert beißt sich mit Integer Variable
18.11.2005 20:29:25
Leo
Hi,
frag einfach die Länge der Zelle ab.
mfg Leo
AW: Zellwert beißt sich mit Integer Variable
19.11.2005 11:06:28
Dieter W.
Hallo Simon...
immer dann, wenn ich auf die Eingaben der User vertrauen soll, dann verläßt mich mein vertrauen... Deshalb nehme ich erst einmal ein Variant Variable, in der ich den Zellwert einlese. Und später, bevor ich den Wert der Zelle einer Variablen übergeben möchte, prüfe ich den Wert... Wie in dem Beispiel:

Sub test()
Dim vZelle1 As Variant, vZelle2 As Variant
Dim iZahl As Integer
Dim dDatum As Date
vZelle1 = Cells(1, 1)   '*** z.B. Inhalt Zahl
vZelle2 = Cells(1, 2)   '*** z.B. Inhalt Datum
If IsNumeric(vZelle1) = True Then iZahl = CInt(vZelle1)
If IsDate(vZelle2) = True Then dDatum = CDate(vZelle2)
End Sub

Wenn Du mehrere Zellen hast, die Du auslesen möchtest, kannst Du das ganze natürlich auch mit einer Variablen machen. Meine heißt meist vTemp, der ich immer wieder einen neuen Wert zuweise:

Sub test()
Dim vTemp As Variant
Dim iZahl As Integer
Dim dDatum As Date
vTemp = Cells(1, 1)   '*** z.B. Inhalt Zahl
If IsNumeric(vTemp) = True Then iZahl = CInt(vTemp)
vTemp = Cells(1, 2)   '*** z.B. Inhalt Datum
If IsDate(vTemp) = True Then dDatum = CDate(vTemp)
End Sub

Die Typ-Umwandlungsfunktionen CInt, CDate etc. gibt es für jeden Datentypen... genauso auch die Abfrage nach dem Inhalt IsNumeric, isDate etc...
Ich hoffe, ich konnte Dir helfen... und verbleibe freundlichst
Dieter W.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige