Hallo,
jemand von Euch hatte im Brett bereits früher darauf hingewiesen, dass bei der Prüfung, ob eine Zelle „leer“ ist, immer die Antwort false kommen muß, weil auch eine „leere“ Zelle immer 2 Zeichen, und zwar die Zellenendmarke und ein weiteres Zeichen enthält. Wie sind die CHR-Zeichen für die beiden Zeichen? Ich kann sie im Archiv leider nicht wiederfinden.
Danke u. Gruß
Wilhelm
Hallo,
jemand von Euch hatte im Brett bereits früher darauf
hingewiesen, daß bei der Prüfung, ob eine Zelle „leer“ ist,
immer die Antwort false kommen muß, weil auch eine „leere“
Zelle immer 2 Zeichen, und zwar die Zellenendmarke und ein
weiteres Zeichen enhält. Wie sind die CHR-Zeichen für die
beiden Zeichen? Ich kann sie im Archiv leider nicht
wiederfinden.
hallo wilhelm,
also ich prüfe so ob eine zelle leer ist:
if cell(1,1).value = „“ then
'oder halt so
elseif cell(1,1).value „“ then
end if
ist zwar nicht das was du wolltest, hoffe das es trotzdem hilft
viele grüße
rasta
Hallo.
Prüfen mit =ISTLEER(bezug) gibt Wahrheitswert. Das ist wohl das einfachste …
kw
Hallo,
bist Du sicher, daß die Tips bei der Prüfung des Inhalts einer Zelle in einer Word-Tabelle funktionieren?
Sub a()
Dim tmp
tmp = ActiveDocument.Tables(1).Cell(1, 1)
MsgBox IsEmpty(tmp)
End Sub
liefert „false“, auch wenn die Zelle sichtbar nur die Zellenendmarke enhält. Was nun?
Gruß Wilhelm
Hallo.
Prüfen mit =ISTLEER(bezug) gibt Wahrheitswert. Das ist wohl
das einfachste …
kw
Hallo Rasta,
funktioniert die Prozedur bei einer Word-Tabelle tatsächlich?
Auch bei einer „leeren“ Zelle ergibt bei mir die Prüfung, daß die Zelle nicht leer ist. Das müßte wohl an der Zellenendmarke in der jeweiligen Zelle liegen?! Schreib´doch bitte Deine Prozedur noch einmal vollständig auf.
Gruß Wilhelm
hallo wilhelm,
also ich prüfe so ob eine zelle leer ist:
if cell(1,1).value = „“ then
'oder halt so
elseif cell(1,1).value „“ then
end ifist zwar nicht das was du wolltest, hoffe das es trotzdem
hilftviele grüße
rasta
Public Function test()
Dim strBuf As String
Dim intTab As Integer
Dim intRow As Integer
Dim intCol As Integer
'durchrattern aller Tabellen (inkl. aller Zeilen und Spalten)
For intTab = 1 To Me.Tables.Count
For intRow = 1 To Me.Tables.Item(intTab).Rows.Count
For intCol = 1 To Me.Tables.Item(intTab).Columns.Count
strBuf = Me.Tables.Item(intTab).Cell(intRow, intCol).Range.Text
If strBuf = Chr$(13) & Chr$(7) Then
Debug.Print "Tabelle " & intTab & " Zeile " & intRow & " Spalte " & intCol & " ist leer"
End If
Next intCol
Next intRow
Next intTab
'
End Function
greets from michL (vienna)
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Rasta,
funktioniert die Prozedur bei einer Word-Tabelle tatsächlich?
Auch bei einer „leeren“ Zelle ergibt bei mir die Prüfung, daß
die Zelle nicht leer ist. Das müßte wohl an der Zellenendmarke
in der jeweiligen Zelle liegen?! Schreib´doch bitte Deine
Prozedur noch einmal vollständig auf.
kann dir jetzt nicht sagen obs hundertprozentig bei ner word-tabelle funtkioniert… aber exel 100%
grüße
rasta
Du beantwortest doch die Frage selbst… wenn ne leere
immer aus zwei Zeichen (CHR$(13) & CHR$(7)) besteht, und eine
volle aus Text + diesen beiden Zeichen ist also jede Zeile,
deren Anzahl Zeichen [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Alexander,
weil ich so auf die beiden Zeichen, deren Schreibweise ich vergessen hatte, fixiert war, bin ich gar nicht auf Deine so einfache Idee gekommen. Ich werd’s gleich mal ausprobieren.
Danke und Gruß
Wilhelm