Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Mehrer zellen auf Inhalt prüfen
17.01.2008 10:16:32
Bravestar
Hallo zusammen,
ich habe da ein Problem.
Ich würde gerne meherer verbundene und einzelne Zellen auf Inhalt prüfen.
Habe dies soweit auch geschafft nur gibt es jetzt auf einmal Probleme.
Folgendermaßen bin ich vorgegangen.
Zuerst habe ich die zu prüfenden Zellen markiert und sie/ihnen über EINFÜGEN - NAMEN definiert/einen Namen vergeben.
Danach habe ich mich in meinem Code auf diesen Namen bezogen.
Nun wollte ich mehrer Zellen die verbunden sind aber auch einzelne genauso defineren, damit ich sie über meinen Code ansprechen kann, bekomme aber dann eine Fehlermeldung.

Die Formel in diesem Arbeitsblatt enthält einen oder mehrere ungültige Bezüge.
Überprüfen SIe, ob der Pfad, der Name der Arbeitsmappe und der Name des Bereiches oder des Zellbezuges korrekt sind.


Gibt es daher eine Möglichkeit mehrere Zellen auch ohne Namensdefinition anzusprechen?
Auszug aus dem Code
Sub pruefenFK()
If Tabelle5.CheckBox1.Value = False Then
ActiveWorkbook.Names.Add Name:="alt", RefersTo:= _
"=FK1!AA2,FK1!AA4,FK1!E7,FK1!D11,FK1!D12,FK1!D14"
Dim z As Range
Dim Leer As String
For Each z In Tabelle5.[alt]
If z.Value = "" Then _
Leer = Leer & z.Address & ", "
Next
.
.
.
Hoffe jemand kann mir helfen...

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrer zellen auf Inhalt prüfen
17.01.2008 11:52:34
fcs
Hallo Bravestar,
eine Möglichkeit: zu prüfende Zellen/Bereiche in einem Array vorgeben

Sub pruefenFK()
Dim wks As Worksheet, Bereich As Range, arrZellen, i As Integer
Dim z As Range
Dim Leer As String
If Tabelle5.CheckBox1.Value = False Then
Set wks = Worksheets("FK1")
arrZellen = Array("AA2", "AA4", "E7", "D11", "D12", "D14")
For i = LBound(arrZellen) To UBound(arrZellen)
Set Bereich = wks.Range(arrZellen(i))
For Each z In Bereich
If z.Value = "" Then _
Leer = Leer & z.Address & ", "
Next
Next
End If
'MsgBox Leer
End Sub


Gruß
Franz

Anzeige
AW: Mehrer zellen auf Inhalt prüfen
17.01.2008 12:28:26
Bravestar
Hallo Franz,
vielen lieben Dank für Deine Mühen.
Habe den von Dir erstellten Code mal ausprobiert, aber leider gibt es da noch ein Problem.
Hätte doch den ganzen Code reinstellen sollen.
Habe es aber inzwischen selbst gelöst, nur habe ich keine Ahnung ob das nicht zu umständlich ist. Ob Du da nochmal einen Blick drauf werfen könntest?
Bei Deiner Lösung springt der mit immer in COPYFK obwohl nicht alle Felder ausgefüllt sind.
Funktion ist ja folgende, Prüfe alle angegebenen Zellen. Wenn eine Zelle leer, dann MSG Box sonst CopyFK.
Dein CODE

Sub pruefenFK_()
Dim wks As Worksheet, Bereich As Range, arrZellen, i As Integer
Dim z As Range
Dim Leer As String
If Tabelle5.CheckBox2.Value = False Then
Set wks = Worksheets("FK1")
arrZellen = Array("AA2", "AA4", "E7", "D11")
For i = LBound(arrZellen) To UBound(arrZellen)
Set Bereich = wks.Range(arrZellen(i))
Next
For Each z In Bereich
If z.Value = "" Then _
Leer = Leer & z.Address & ", "
Next
If Len(Leer) = 0 Then
copyFK
Else
Leer = Left(Leer, Len(Leer) - 2)
MsgBox "Das Deckblatt ist nicht vollständig ausgefüllt worden " & vbNewLine & "und kann  _
daher nicht gespeichert oder kopiert werden." & vbNewLine & "Überprüfen Sie das Deckblatt auf fehlende Daten!"
End If
End If
End Sub


Hier funktionierts


Sub pruefenFK()
Dim Bereich As Range
If Tabelle5.CheckBox2.Value = False Then
Set Bereich = Sheets("FK1").Range("FK1!AA2,FK1!AA4,FK1!E7,FK1!D11")
Dim y As Range
Dim Leere As String
For Each y In Tabelle5.Range("FK1!AA2,FK1!AA4,FK1!E7,FK1!D11")
If y.Value = "" Then _
Leere = Leere & y.Address & ", "
Next
If Len(Leere) = 0 Then
copyFK
Else
Leer = Left(Leere, Len(Leere) - 2)
MsgBox "Das Deckblatt ist nicht vollständig ausgefüllt worden " & vbNewLine & "und kann  _
daher nicht gespeichert oder kopiert werden." & vbNewLine & "Überprüfen Sie das Deckblatt auf fehlende Daten!"
End If
End If
End If
End Sub


Anzeige
AW: Mehrer zellen auf Inhalt prüfen
19.01.2008 10:31:00
Gerd

Sub pruefen()
If Application.WorksheetFunction.CountA(Sheets("Tabelle1").Range("A2,A4,D1")) = 3 Then
Stop
Else
Stop
End If
End Sub


Gruß Gerd

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige