Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1708to1712
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
Inhaltsverzeichnis

SpecialCells Fehlar abfangen

SpecialCells Fehlar abfangen
22.08.2019 10:58:58
Berny
Hallo
ich scheitere mal wieder an einem vermeintlich einfachen Problem.
In der Tabelle sollen je nach Auswahl die Zellen via VBA bearbeitet werden. Mit "for each cell …" würde das je nach Auswahl, viel zu lange dauern. Deshalb reduziere ich die Auswahl auf Konstanten mit Text.
Aber: der Text kann ein einfacher Text, oder aber über eine Formel in der Zelle stehen.
Deshalb habe ich die Auswahl mit folgender Zeile reduziert. Funktioniert.
Union(Selection.SpecialCells(xlCellTypeConstants, 2), Selection.SpecialCells(xlCellTypeFormulas, 2)).Select
Wenn es nun aber keine Text - Konstanten, welche über eine Formel eingegeben wurden gibt, führt das zu einem Fehler den ich abfangen muss.
Das wollte ich so lösen.
If IsError(Selection.SpecialCells(xlCellTypeFormulas, 2)) Then 'Nur Zellen mit Konstanten auswählen
Selection.SpecialCells(xlCellTypeConstants, 2).Select
Else
Union(Selection.SpecialCells(xlCellTypeConstants, 2), Selection.SpecialCells(xlCellTypeFormulas, 2)).Select
End If
aber das führt trotzdem zu einem Fehler.
Wie kann ich den Fehler abfangen?
M.f.G.
Berny

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SpecialCells Fehler abfangen
22.08.2019 11:38:17
{Boris}
Hi,
das Problem bei der SpecialCells-Methode liegt darin, dass sie - auch wenn man auf das Ergebnis nicht die Select-Methode anwendet - dennoch ein (heimliches) Select ausführt.
Und wenn es von den angegebenen SpecialCells keine gibt, dann kommt es automatisch zum Fehler.
Der Einfachheit würde ich beide Arten der SpecialCells nacheinander abarbeiten und tatsächlich mit
On Error Resume Next
den möglichen Fehler unterdrücken.
VG, Boris
AW: SpecialCells Fehler abfangen
22.08.2019 12:25:19
Berny
Hallo Boris,
vielen Dank für deine Antwort, (auch wenn sie unbefriedigend ist) ;-)
Jetzt habe ich mir in den letzten Jahren die Fliegenklatsche abgewöhnt, und nun führe ich sie wieder ein.
M.f.G.
Berny
Anzeige
AW: SpecialCells Fehler abfangen
22.08.2019 13:11:10
Daniel
Hi
Das ist in dem Fall halt die einfachste Lösung.
Wenn du die Zellbereiche zunächst in Variablen schreibt, dann reicht es, wenn du nur diesen Teil in in In Error Resume Next setzt.
Danach kannst du dann einfach mit IsNoting abfragen, ob die Variable einen Wert hat.
dim rng as Range
On error resume next
Set rng = ....SpecialCells(xlcelltypeconstants, 2)
If rng is nothing then
Set rng = ....SpecialCells(xlcelltypeformulas, 2)
Else set rng = Union(rng, ....SpecialCells(xlcelltypeconstants, 2))
End if
In error goto 0
Rng.select

Gruß Daniel
Anzeige
AW: SpecialCells Fehler abfangen
22.08.2019 16:03:48
Berny
Hallo Daniel,
auch dir Danke für deinen Beitrag. Gute Idee! Jetzt sieht es wenigstens optisch so aus, als hätte man sich etwas dabei gedacht.
Ich habe es jetzt so eingegeben:
...
Dim rngC, rngF As Range
On Error Resume Next
Set rngC = Selection.SpecialCells(xlCellTypeConstants, 2)
Set rngF = Selection.SpecialCells(xlCellTypeFormulas, 2)
On Error GoTo 0
...
Nun kann ich Abfragen, ob ich Konstanten oder Formeln oder beides in den ausgewählten Zellen habe.
M.f.G.
Berny
Nicht wirklich wichtig, aber ...
22.08.2019 20:11:16
Rudi
Hallo,
...rngC ist ein Variant.
Die korrekte Dimensionierung lautet
Dim rngC As Range, rngF As Range
Gruß
Rudi
Anzeige
AW: Nicht wirklich wichtig, aber ...
23.08.2019 07:43:04
Berny
Hallo Rudi,
Danke!
man lernt doch immer wieder etwas dazu.
Gilt das auch für Public ? - Ich glaube den Fehler habe ich schon oft gemacht.
M.f.G.
Berny

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige