expertenaustausch > comp.* > comp.office-pakete.ms-office

Lothar Wesemann (17.08.2010, 21:42)
Hallo

Ich habe ein Makro in einer Excel2007-Datei, das auf eine Excel2000-Datei
zugriff, und tadellos funktionierte.

Es zählt die Zellen mit einer bestimmten Farbe UND dem Text "u"

Teil daraus:

For i = 5 To 30
For Each zelle In Range(Cells(i, 50), Cells(i, 100))
If zelle.Interior.ColorIndex = 40 And zelle.Value = "u" Then
anzahl_u = anzahl_u + 1
End If
Next i

Jetzt wurde díe Excel2000-Datei als xlsx abgespeichert, und ich erhalte
folgende Fehlermeldung:

Laufzeitfehler "13"
Typen unverträglich

Bei Klick auf "debuggen" wird die Zeile mit Colorindex markiert.

Die Farben in Excel2007 haben andere Nummern, aber das dürfte ja nicht die
Ursache für den Fehler sein.

Jemand ne Idee?

Gruß

Lothar
Herrand Petrowitsch (17.08.2010, 21:58)
"Lothar Wesemann" schrieb

> Ich habe ein Makro in einer Excel2007-Datei [...]


Stelle die Frage bitte nochmals in dieser Gruppe:
de.comp.office-pakete.ms-office.excel
Lothar Wesemann (17.08.2010, 22:44)
Diese Gruppe wird bei mir nicht angezeigt:
de.comp.office-pakete.lotus
bzw.
de.comp.office-pakete.staroffice

von microsoft sehe ich nur
de.comp.office-pakete.ms-office

Gruß

Lothar

"Herrand Petrowitsch" <herrand> schrieb im Newsbeitrag
news:a4u1
[..]
Winfried Sonntag (17.08.2010, 22:58)
Am 17.08.2010 schrieb Lothar Wesemann:

> von microsoft sehe ich nur
> de.comp.office-pakete.ms-office


Frag doch mal bei deinem Provider nach oder lass im Newsreader einfach
die Liste der Newsgroup aktualisieren.

Servus
Winfried
Lothar Wesemann (17.08.2010, 23:26)
Schon aktualisiert.
Keine Änderung.

Pech

"Winfried Sonntag" <Winfried.Sonntag> schrieb im Newsbeitrag
news:9dlg
[..]
Winfried Sonntag (17.08.2010, 23:45)
Am 17.08.2010 schrieb Lothar Wesemann:

> Schon aktualisiert.
> Keine Änderung.


Dann reklamiere beim Provider.

Servus
Winfried
Peter Schleif (18.08.2010, 11:01)
Lothar Wesemann schrieb am 17.08.2010 21:42 Uhr:
> Laufzeitfehler "13" Typen unverträglich
> Bei Klick auf "debuggen" wird die Zeile mit Colorindex markiert.
> Jemand ne Idee?


Möglicherweise funktioniert eine Formel in dem durchsuchten Bereich
nicht mehr und liefert einen Fehler. Dann liefert der Vergleich des
Zellinhalt mit "u" den Laufzeitfehler 13 (Type mismatch).

Falls es daran liegen sollte, kannst Du zunächst mit IsError() prüfen,
ob die Zelle einen Fehler liefert und die weiteren Prüfungen nur
ausführen, wenn sie fehlerfrei ist. Etwa so:

Peter

Sub ZaehleFarben()
Dim i As Integer
Dim anzahl_u As Long
Dim zelle As Range

For i = 5 To 30
For Each zelle In Range(Cells(i, 50), Cells(i, 100))
If Not IsError(zelle) Then
If zelle.Interior.ColorIndex = 40 And zelle.Value = "u" Then
anzahl_u = anzahl_u + 1
End If
End If
Next
Next i

MsgBox anzahl_u
End Sub
Lothar Wesemann (22.08.2010, 08:57)
Fehler gefunden!

Hab ein bisschen in der Excel-Vba-Hilfe unter "For each"-Beispielen
nachgesehen.

Es muss zelle.text ="u" heissen, statt zelle.value="u"!
Ähnliche Themen