Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1432to1436
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
Zellen auf Inhalt prüfen
12.07.2015 20:14:04
Isolde
Hallo VBA-Experten!
Ich bin auf der Suche nach einem Makro, das folgendes kann:
Das Makro soll zunächst in Spalte C die letzte Zeile erkennen. Danach sollen Spalte I8-S8 bis jeweils zu dieser letzten Zeile ausgelesen werden. Das Makro soll erkennen, ob der Zellbereich leere Zellen enthält.
Wenn mindestens eine Zelle leer ist, so soll die Meldung „Wichtige Zellen sind nicht gefüllt“ erscheinen.
Wenn keine Zelle leer ist, so soll das Makro eine gesperrte Schaltfläche (gesperrt durch Blattschutz) entsperren.
Ich hoffe mir kann jemand helfen, ich komme überhaupt nicht weiter 
Vielen Dank im Voraus!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen auf Inhalt prüfen
12.07.2015 20:36:50
Matthias
Hallo
Dim Loletzte Loletzte = Cells(Rows.Count, 3).End(xlUp).Row MsgBox Application.WorksheetFunction.CountBlank(Range("I8:S" & Loletzte)) & " Wichtige Zellen _ sind nicht gefüllt" Das ergibt einen Rückgabewert von: 5
 CDEFGHIJKLMNOPQRS
1XXX                
2XXX                
3XXX                
4XXX                
5XXX     IIIIIIIIIII
6XXX     IIIIIIIIIII
7XXX     IIIIIIIIIII
8x     II IIIIIIII
9x     IIIIIIIIIII
10x     IIIIIIIIIII
11x     IIIIIIIIII 
12x     IIIIIIIIIII
13x     IIII IIIIII
14x     IIIIIIIIIII
15x     IIIIIIIIIII
16x     IIIIIII III
17x     IIIIIIIIIII
18x     II IIIIIIII
19x     IIIIIIIIIII
20x     IIIIIIIIIII


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Einfach mit einer If-Abfrage Dein Button entsperren, wenn es keine leeren Zellen gibt.
Also der Rückgabewert:= 0 ist
Gruß Matthias

Anzeige
AW: Zellen auf Inhalt prüfen
13.07.2015 19:02:41
Isolde
Danke für deine Antwort, leider weiß ich nicht genau wie ich das Makro starten soll und wie genau die If-Abfrage aufgebaut sein soll? Es soll sich entweder die Messagebox öffnen oder die Schaltfläche entsperrt werden. Wie sieht der Befehl dafür aus, dass das Makro die Zellen prüft?

AW: Zellen auf Inhalt prüfen
12.07.2015 20:42:57
Sepp
Hallo Isolde,
wie soll das Makro gestartet werden? Um welche Art von Schaltfläche handelt es sich?
Gruß Sepp

AW: Zellen auf Inhalt prüfen
13.07.2015 19:03:46
Isolde
Das Makro soll starten sobald man das Tabellenblatt (Es ist 1 von 4 Blättern) öffnet. Und die Schaltfläche ist ein einfaches Formularelement.

Anzeige
AW: Zellen auf Inhalt prüfen
13.07.2015 19:39:12
Sepp
Hallo Isolde,
Die prüfung ist kein Problem. (in das Modul der Tabelle)
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Activate()
  Dim rng As Range
  
  With Me
    Set rng = .Range("I8:S" & Application.Max(8, .Cells(.Rows.Count, 3).End(xlUp).Row))
  End With
  
  If Application.CountA(rng) < rng.Count Then
    MsgBox "Wichtige Zellen sind nicht gefüllt", vbExclamation
  End If
  
End Sub


Aber! Wie sperrst du die Schaltfläche?
Gruß Sepp

Anzeige
AW: Zellen auf Inhalt prüfen
14.07.2015 06:58:33
Isolde
Hallo Sepp,
die Schaltfläche würde ich über "Makro aufnehmen" sperren, indem ich einen Blattschutz setze und mit dem aufgezeichneten Makro den Blattschutz entsperre und den Schutz für die Schaltfläche aufhebe bevor ich den Blattschutz wiederherstelle.
Über diese Schaltfläche werden Daten von einem Tabellenblatt in ein anderes Tabellenblatt kopiert. Abhängig davon, ob ihnen ein bestimmter Wert zugeordnet ist, werden sie in verschiedene Zellen kopiert.Es sind mehrere If-Abfragen, die ich gerne mit meiner oben genannten Problemstellung verbinden würde, aber das klappt nicht. Deshalb habe ich den Umweg über die gesperrte Schaltfläche gewählt.
Gruß Isolde

Anzeige
AW: Zellen auf Inhalt prüfen
14.07.2015 07:00:17
Isolde
Hallo Sepp,
die Schaltfläche würde ich über "Makro aufnehmen" sperren, indem ich einen Blattschutz setze und mit dem aufgezeichneten Makro den Blattschutz entsperre und den Schutz für die Schaltfläche aufhebe bevor ich den Blattschutz wiederherstelle.
Über diese Schaltfläche werden Daten von einem Tabellenblatt in ein anderes Tabellenblatt kopiert. Abhängig davon, ob ihnen ein bestimmter Wert zugeordnet ist, werden sie in verschiedene Zellen kopiert.Es sind mehrere If-Abfragen, die ich gerne mit meiner oben genannten Problemstellung verbinden würde, aber das klappt nicht. Deshalb habe ich den Umweg über die gesperrte Schaltfläche gewählt.
Gruß Isolde

Anzeige
AW: Zellen auf Inhalt prüfen
15.07.2015 18:05:16
Isolde
Hallo Sepp,
ich habe das Makro ausprobiert. Es funktioniert super, vielen Dank! Jetzt stehe ich vor der nächsten Herausforderung:
Nun sollen einige Spalten ausgeblendet werden (Das machen die Nutzer ganz individuell). Das Makro soll dann nur die Zellen berücksichtigen, die eingeblendet sind.
Wie mache ich das?
Ich hoffe du kannst mir nochmal helfen. Danke schon mal!

AW: Zellen auf Inhalt prüfen
15.07.2015 18:50:57
Sepp
Hallo Isolde,
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Activate()
  Dim rng As Range
  
  On Error Resume Next
  With Me
    Set rng = .Range("I8:S" & Application.Max(8, .Cells(.Rows.Count, 3).End(xlUp).Row)).SpecialCells(xlCellTypeVisible)
  End With
  Err.Clear
  On Error GoTo 0
  
  If Not rng Is Nothing Then
    If Application.CountA(rng) < rng.Count Then
      MsgBox "Wichtige Zellen sind nicht gefüllt", vbExclamation
    End If
  End If
  
  Set rng = Nothing
End Sub


und was kommt als Nächstes?
Gruß Sepp

Anzeige
AW: Zellen auf Inhalt prüfen
16.07.2015 09:04:04
Isolde
Hallo Sepp,
mein Makro sieht nun wie folgt aus:
 
Option Explicit
 
Private Sub Worksheet_Activate()
  Call Blattschutz_aufheben
  Dim rng As Range
  On Error Resume Next
  With Sheets("Analyse")
    Set rng = .Range("J8:S" & Application.Max(8, .Cells(.Rows.Count, 3).End(xlUp).Row)). _
SpecialCells(xlCellTypeVisible)
  End With
  Err.Clear
  On Error GoTo 0
If Not rng Is Nothing Then
  If Application.CountA(rng) 
 
Aber es funktioniert nicht L Nichts passiert und auch beim Debuggen bekomme ich keine Fehlermeldung…
 
Gruß Isolde

Anzeige
AW: Zellen auf Inhalt prüfen
16.07.2015 10:03:56
Sepp
Hallo isolde,
hast du den code auch im richtigen Modul? Er gehört in das Modul der Tabelle!
Gruß
Sepp

AW: Zellen auf Inhalt prüfen
16.07.2015 11:02:26
Isolde
Hallo Sepp,
 
wenn ich das Makro in das Modul der anderen Tabelle1 verschiebe funktioniert es zwar, aber startet nicht automatisch :/
In dem Modul ist aber auch bereits ein anderes Makro enthalten…
 
Das Makro soll dann starten, wenn man Tabelle2 öffnet. Ist das noch der Fall, wenn ich es in das andere Modul verschiebe?
 
Nochmals Danke für die Hilfe!
Gruß Isolde

AW: Zellen auf Inhalt prüfen
16.07.2015 18:16:57
Sepp
Hallo Isolde,
der Code gehört in das Modul der Tabelle in der auch geprüft wird!
With Sheets("Analyse")...
ist überflüssig, es sollte, wenn schon,

With Me
lauten.
Ich kann ja nicht wissen, was du wo hineinkopiert hast und welcher Code sonst noch läuft.
Gruß Sepp

Anzeige

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige