Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1056to1060
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

ActiveSheet.CircleInvalid = null dann makro

ActiveSheet.CircleInvalid = null dann makro
07.03.2009 17:23:28
Benjamin
hallo zusammen,
ich habe folgendes problem.
ich habe ein excel sheet mit mehren datenüberprüfungen versehen. Also z.B. in einer Spalte darf nur Datum grösser heute eingegeben werden, in einer anderen darf die maximale Textlänge 5 Zeichen nicht übertragen usw.
Das funktioniert auch ganz gut, solange die User ihre Daten manuell eintragen. Sobald sie aber Ctrl C und Ctrl V nutzen, wird die Datenüberprüfung ausgehebelt.
Jetzt habe ich über den Markrorecorder gesehen, dass es die Funktion ActiveSheet.CircleInvalid gibt.
Diese würde ich gerne wie folgt einsettzen.
Ich habe ein Makro. Dies überprüft, ob es Invald Zellen gibt und markiert die. Dann ist das Makro zu ende und der User muss die Daten korrigieren.
Wenn kein Fehler vorhanden ist, fängt das Makro mit der eigentlichen Arbeit an.
Kann mir jemand helfen?
Gruss
Benjamin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveSheet.CircleInvalid = null dann makro
07.03.2009 17:47:04
Nepumuk
Hallo Benjamin,
die CircleInvalid - Methode hat keinen Rückgabewert. Du könntest höchsten prüfen, ob so eine Shape in der Tabelle auftaucht. Problem ist nur, die Gültigkeitsprüfung wird per Copy & Paste überschrieben (wenn eine Excelzelle kopiert und in die Zelle mit der Prüfung eingefügt wird). Und keine Gültigkeitsprüfung - kein Fehler.
Gruß
Nepumuk
AW: ActiveSheet.CircleInvalid = null dann makro
07.03.2009 18:27:32
Benjamin
Hallo zusammen,
und es gibt auch keine Möglichkeit das Überschreiben zu verhindern?
Gruss
Benjamin
AW: ActiveSheet.CircleInvalid = null dann makro
07.03.2009 18:33:06
Nepumuk
Hallo Benjamin,
nur wenn du kopieren und einfügen verhinderst.
Gruß
Nepumuk
AW: ActiveSheet.CircleInvalid = null dann makro
07.03.2009 18:50:09
Benjamin
Hi Nepumuk,
ok, dass will ich auch nicht.
shi...
Aber was möglich sein sollte.
Die user wollen das Makro starten, dann kommt erst ein Durchlauf ActiveSheet.CircleInvalid und dann gebe ich dem User die Möglichkeit entgültig zu bestätigen dass er das Makro laufen lassen will, oder die Fehler beheben will, oder?
dudelduüdel.. und wenn das ginge, wüsstest Du wie?
Gruss
Benjamin
Anzeige
AW: ActiveSheet.CircleInvalid = null dann makro
07.03.2009 19:02:19
Josef
Hallo Benjamin,
eine Möglichkeit.
Function getInvalidCells(Optional ByRef Sheet As Worksheet) As Long
  Dim objShp As Shape, lngResult As Long
  If Sheet Is Nothing Then Set Sheet = ActiveSheet
  With Sheet
    .ClearCircles
    lngResult = .Shapes.Count
    .CircleInvalid
    lngResult = .Shapes.Count - lngResult
    .ClearCircles
  End With
  getInvalidCells = lngResult
End Function


Sub test()
  MsgBox "Anzahl ungültiger Einträge: " & CStr(getInvalidCells(Sheets("Tabelle2")))
End Sub

Gruß Sepp

Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige