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

Zähle Zeilen- nur bestimmter Bereich

Zähle Zeilen- nur bestimmter Bereich
18.12.2016 10:59:12
Andi
Hallo
Folgender Code zählt mir die Zeilen für den Druckvorgang.
Gezählt wird ab Zeile 4.
Ist es möglich, den Bereich auf die Zellen A-Q beginnend ab Zeile 4 nach unten
zu editieren?

  • Option Explicit
    Sub countCells()
    Dim i&, lastRow As Object, filledCells, counter&
    Const START_ROW = 4
    With Sheets("Bearbeiten")
    Set lastRow = .Cells.Find(What:="*", After:=.Cells(.Rows.Count, 1), LookIn:=xlValues,  _
    LookAt:= _
    _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
    , SearchFormat:=False)
    If Not lastRow Is Nothing Then
    For i = START_ROW To lastRow.Row
    On Error Resume Next
    filledCells = .Rows(i).SpecialCells(xlCellTypeConstants)
    If Err.Number = 0 Then
    counter = counter + 1
    End If
    Next
    End If
    End With
    Sheets("Drucken").Range("C2") = counter
    End Sub
    


  • Was müsste am Code noch geändert werden?
    Gruß Andi

    7
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zähle Zeilen- nur bestimmter Bereich
    18.12.2016 13:33:18
    Werner
    Hallo Andi,
    mir ist ehrlich gesagt nicht so ganz klar, was du möchtets.
    Hier
    With Sheets("Bearbeiten")
    Set lastRow = .Cells.Find(What:="*", After:=.Cells(.Rows.Count, 1), LookIn:=xlValues,  _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False, _
    SearchFormat:=False)
    
    stellst du doch die letzte Zeile in Spalte A fest und zählst dann die Anzahl Zeilen im Bereich von A4 bis zur letzten belegten Zeile in Spalte A. Insofern ist doch deine Forderung erfüllt.
    Ansonsten müsstest du, zumindes für mich, mal genau erklären was du meinst/willst.
    Gruß Werner
    Anzeige
    AW: Zähle Zeilen- nur bestimmter Bereich
    18.12.2016 14:17:14
    Andi
    Hallo Werner,
    es ist so, das in der "Tabelle Bearbeiten" der Bereich S1:AD26 mit Datenfelder ausgefüllt sind, die nicht in die Zählung mit eingehen sollten. Lösche ich diesen Bereich- wird richtig gezählt.
    Den Bereich benötige ich aber für die Bearbeitung.
    Ziel ist nun eigentlich- den Bereich A4-Q4 abwerts auszuwerten, also auch wenn in A16 nix eingetragen ist- aber in C16 ein Wert, (Zahl, Wort, Zeichen oder sonstiges) vorhanden ist, das dies als letzte ausgefüllte Zeile behandelt wird. Dies ergibt eine Zahl, die mir ausgegeben wird- und darauf hin wird eine gewisse Anzahl von Blättern gedruckt. Das geht auch alles.
    Also ich wollte den Bereich einschränken, der gezählt werden darf. Der ist A4-Q4 abwärts.
    geht das überhaupt?
    Gruß Andi
    Anzeige
    AW: Zähle Zeilen- nur bestimmter Bereich
    19.12.2016 07:45:09
    Werner
    Hallo Andi,
    versuch mal:
    Public Sub countCells()
    Dim rngLetzte As Range
    Dim loSpalte As Long
    Dim Speicher(16)
    With Sheets("Bearbeiten")
    For loSpalte = 1 To 17
    Set rngLetzte = .Columns(loSpalte).Find(What:="*", _
    After:=.Cells(.Rows.Count, loSpalte), LookIn:=xlValues, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
    MatchCase:=False, SearchFormat:=False)
    If Not rngLetzte Is Nothing Then
    Speicher(loSpalte - 1) = rngLetzte.Row
    Else
    Speicher(loSpalte - 1) = 1
    End If
    Next loSpalte
    End With
    If WorksheetFunction.Max(Speicher, 1) 
    Gruß Werner
    Anzeige
    AW: Zähle Zeilen- nur bestimmter Bereich
    19.12.2016 18:37:00
    Andi
    Hallo Werner,
    danke- es geht-bis auf eine Kleinigkeit- die ersten drei Zeilen sollen vom Anzeigewert abgezogen werden.
    Habe es in der Zelle C2 mit einer Formel gelöst "=SUMME(Drucken!C2-3)" zeigt zwar bei leeren Blatt -3 an- damit kann ich leben- da Minimum 3 Zeilen ausgefüllt sein müssen.
    Danke geht Super.
    Grüße Andi
    AW: Zähle Zeilen- nur bestimmter Bereich
    19.12.2016 20:44:24
    Werner
    Hallo Andi,
    dann halt so:
    Public Sub countCells()
    Dim rngLetzte As Range
    Dim loSpalte As Long
    Dim Speicher(16)
    With Sheets("Bearbeiten")
    For loSpalte = 1 To 17
    Set rngLetzte = .Columns(loSpalte).Find(What:="*", _
    After:=.Cells(.Rows.Count, loSpalte), LookIn:=xlValues, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
    MatchCase:=False, SearchFormat:=False)
    If Not rngLetzte Is Nothing Then
    Speicher(loSpalte - 1) = rngLetzte.Row
    Else
    Speicher(loSpalte - 1) = 1
    End If
    Next loSpalte
    End With
    If WorksheetFunction.Max(Speicher, 1) - 3 
    Gruß Werner
    Anzeige
    AW: Zähle Zeilen- nur bestimmter Bereich
    20.12.2016 20:29:20
    Andi
    Jetzt ist es Vollkommen- Sieht besser aus so-und ich hab auch was gelernt.
    Danke Werner
    AW: Gerne u. Danke für die Rückmeldung. o.w.T.
    20.12.2016 21:07:25
    Werner

    305 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige