Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Eine einfachere Lösung

Forumthread: Eine einfachere Lösung

Eine einfachere Lösung
13.04.2021 22:39:22
Daniel
Hallo zusammen
Habe da mal was gebastelt. Funktioniert auch. Denke aber, ein Profi kann dies mit weniger Zeilen lösen?
Freue mich auf Vorschläge.
Gruss Daniel

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Bereich As Byte
Dim a As Byte
Bereich = Application.WorksheetFunction.Count(Range("A3:A26"))
For a = 1 To 6
If Bereich = a Then
MsgBox "Braucht nur eine Seite!"
End If
Next
For a = 7 To 12
If Bereich = a Then
MsgBox "Braucht zwei Seiten!"
End If
Next
For a = 13 To 18
If Bereich = a Then
MsgBox "Braucht drei Seiten!"
End If
Next
For a = 19 To 24
If Bereich = a Then
MsgBox "Braucht vier Seiten!"
End If
Next
End Sub

Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine einfachere Lösung
13.04.2021 22:53:56
Hajo_Zi

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Bereich As Byte
Bereich = Application.WorksheetFunction.Count(Range("A3:A26"))
If Bereich 

GrußformelHomepage
Anzeige
AW: Eine einfachere Lösung
14.04.2021 18:40:16
Eberhard
Hallo zusammen
Vielen Dank für die Aufmerksamkeit. Das funktioniert ja nur wenn Zahlen in den Zellen sind! Eigentlich soll es funktionieren wenn sich ein Text in den Zellen befindet. Kann mir jemand dabei helfen?
Freundliche Grüsse
Daniel Eberhard
.CountA statt .Count owT
14.04.2021 20:03:23
Rudi
AW: Eine einfachere Lösung
15.04.2021 00:54:51
snb

Sub M_snb()
MsgBox  [count(A3:A26)]\6+1 &  " Seite(n)"
End Sub

Anzeige
AW: Eine einfachere Lösung
15.04.2021 01:10:12
Daniel
Hi snb
das liefert bei 6 Werten aber schon "2 Seite(n)" und nicht "1 Seite(n)" wie gewünscht.
da musst du nochmal nachbessern.
Gruß Daniel
ungetestet
13.04.2021 22:54:35
lupo1

Private Sub Worksheet_Change(ByVal T As Range)
MsgBox "Braucht " & Int((WorksheetFunction.Count(Range("A3:A26")) + 5) / 6) & " Seite(n)"
End Sub

Anzeige
Hat dies funktioniert
14.04.2021 13:56:13
Eberhard
Hallo zusammen
Gestern Abend hat diese Sub wunderbar auf meinem PC zu Hause funktioniert. Bei meinem PC im Geschäft kommt immer Braucht 0 Seiten!
Muss ich irgendwo bei den Einstellungen einen Hacken setzen oder entfernen?
Danke für Eure Hilfe.
Gruss Daniel Eberhard
Private Sub Worksheet_Change(ByVal T As Range)
MsgBox "Braucht " & Int((WorksheetFunction.Count(Range("A3:A26")) + 5) / 6) & " Seite(n)"
End Sub

Anzeige
AW: Hat dies funktioniert
14.04.2021 15:51:48
Eberhard
Hallo zusammen
Gestern Abend hat diese Sub wunderbar auf meinem PC zu Hause funktioniert. Bei meinem PC im Geschäft kommt immer Braucht 0 Seiten!
Muss ich irgendwo bei den Einstellungen einen Hacken setzen oder entfernen?
Danke für Eure Hilfe.
Gruss Daniel Eberhard
Private Sub Worksheet_Change(ByVal T As Range)
MsgBox "Braucht " & Int((WorksheetFunction.Count(Range("A3:A26")) + 5) / 6) & " Seite(n)"
End Sub

Anzeige
AW: Hat dies funktioniert
14.04.2021 16:09:58
Rudi
Hallo,
dann ist in A3:A26 wohl keine Zahl vorhanden. Nur Text oder leer.
Gruß
Rudi
AW: Eine einfachere Lösung
13.04.2021 23:14:14
Daniel
Hallo Ihr beiden!
Ist ja super! Vielen Dank. Nun habe ich es versucht etwas anzupassen. Aber leider funktioniert meine Ergänzung nicht!
Private Sub Worksheet_Change(ByVal T As Range)
Dim Bereich As Byte
Bereich = Int((WorksheetFunction.Count(Range("A3:A26")) + 5) / 6)
MsgBox "Braucht " & Bereich & " Seite(n)"
If Bereich = 24 Then
MsgBox "alles voll"
End If
End Sub

Gruss Daniel
Anzeige
Bereich=Seiten kann nur 0 bis 4 werden
13.04.2021 23:22:02
lupo1
AW: Eine einfachere Lösung
14.04.2021 00:29:28
Daniel
Hi
damit alles in eine Meldung kommt:
Bereich = Application.WorksheetFunction.Count(Range("A3:A26"))
a = Worksheetfunction.Roundup(Bereich / 6, 0)
msgbox "braucht: " & a & " Seite(n)" & IIF(Bereich = 24, vbLF & "alles voll", "")

Gruß Daniel
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18