Office: Anzahl belegter Zeilen in bestimmten Bereich auslesen ?!

Helfe beim Thema Anzahl belegter Zeilen in bestimmten Bereich auslesen ?! in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Alle! Ich habe erneut mal wieder eine Umsetzungsfrage, bei der ich leider nicht wirklich weiß, wie ich es umsetzen soll. Mein aktuelles Projekt... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von MUELM99, 6. September 2014.

  1. Anzahl belegter Zeilen in bestimmten Bereich auslesen ?!


    Hallo Alle!

    Ich habe erneut mal wieder eine Umsetzungsfrage, bei der ich leider nicht wirklich weiß, wie ich es umsetzen soll.

    Mein aktuelles Projekt sieht wie folgt aus:

    Ich habe mehrere Blätter auf denen im oberen Bereich ein gezeichnetes Programm anhand einer Tabelle entsteht, die immer darunter befindlich ist. (Jedes Blatt steht für eine Abteilung, es handelt sich um Personalmanagement).

    Diese Tabellen habe ich per VBA so programmiert, dass die Personaldaten der entsprechenden Abteilung per Knopfdruck per VLookUp aus einer großen Personalliste gezogen werden.

    Die Vergleichs-Information (Organisationsstellen-Nummer) sowie eine laufende Nummer pro Datensatz werden händisch pro Tabellenblatt eingetragen, dann soll per Knopfdruck für so viele Spalten, für die es laufende Nummern und Org ID's gibt die restlichen Daten für diese Abteilung aus der großen Tabelle gezogen werden.

    Hier kurz und Knapp mein Problem:

    Ich möchte per VBA mit der Sub, die von dem Knopf ausgeführt wird, auslesen wie viele Zeilen AB Zeile 56 (inklusive) nach unten mit laufenden Nummern (Spalte A) gefüllt sind, und die Anzahl in einer Variable x speichern. Dies soll immer für das aktuell aktive Tabellenblatt gemacht werden, da ich den Sub global für jedes Blatt nutze.

    Diese Variable nutze ich für eine Schleife, die Zeile für Zeile die Vergleichsdaten zieht und auswertet.

    Hier nochmal die Abfrage in Schriftform, die ich gern in Code haben wöllte:

    x=(Anzahl der besetzten Felder ab Zeile 56 in Spalte A);

    Bei Bedarf zeige ich euch auch gern die Schleifen, in der diese Variable verwendet wird - ist aber für die Frage nicht notwendig.

    Schon einmal DANKE im Voraus! Ich hoffe, irgendjemand kann mir helfen!

    Grüße,
    Marcel

    :)
     
  2. Hallo Marcel,

    so vielleicht?
    Code:
    Gruss
    akku
     
  3. Hallo akku,

    dein Code ist hier leider nicht sehr gut, er gibt nur in bestimmten Fällen eine richtige Antwort aus, denn
    • UsedRange wird von Excel nur beim Speichern aktualisiert
    • UsedRange ist häufig viel größer als die Anzahl der belegten Zellen (durch Formatierung)
    • Und UsedRange muss nicht in Zeile 1 beginnen: wenn du also eine Tabelle von Zeile 20 bis Zeile 30 hast, gibt dir UsedRange.Rows.Count nur 10 als Wert zurück.

    Anbei mein Codevorschlag:
    Code:
    Viele Grüße
     
    Mc Santa, 7. September 2014
    #3
  4. Anzahl belegter Zeilen in bestimmten Bereich auslesen ?!

    Hallochen!

    Erst einmal vielen Dank für den Codevorschlag - ich beziehe mich jetzt mal auf zweitere Idee!

    lEntries wäre in dem Fall die Variable in der dann die Zeilenmenge gespeichert ist - richtig?
    Den Codeabschnitt kann ich doch auch in den Sub des Buttons integrieren und muss dafür keinen extra Sub verfassen - ebenfalls richtig?

    Danke!
    Grüße,
    Marcel

    EDIT: Ich habe meinen VBA Code nun mal an das Codebeispiel angepasst, die Variable mit meinem x ersetzt und alles gespeichert und durchgeführt. Dabei wurde der geplante Vorgang erfolgreich durchgeführt und alle entsprechenden Zeilen nach unten hin wurden mit den entsprechenden Daten gefüllt. Dabei kam jedoch auch eine MsgBox zustande, die ich noch bearbeiten werde, UND ein Laufzeitfehler trotz erfolgreicher Durchführung, der wie folgt lautet:

    Laufzeitfehler '1004':
    Die VLookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.


    Ich schätze es liegt irgendwie innerhalb meiner Schleife mit den VLookup Befehlen - weiß aber nicht wo...
    Deshalb poste ich hier mal meine jeweiligen Schleifen:

    Schleife 1:

    For zv = 56 To (56 + x)
    ActiveSheet.Cells(zv, 4).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:P9999], 16, False)
    ActiveSheet.Cells(zv, 5).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:F9999], 6, False)
    ActiveSheet.Cells(zv, 9).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:Z9999], 26, False)
    ActiveSheet.Cells(zv, 10).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:K9999], 11, False)
    ActiveSheet.Cells(zv, 11).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:B9999], 2, False)
    ActiveSheet.Cells(zv, 12).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:Q9999], 17, False)
    ActiveSheet.Cells(zv, 13).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:N9999], 14, False)
    ActiveSheet.Cells(zv, 14).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:U9999], 21, False)
    ActiveSheet.Cells(zv, 15).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:W9999], 23, False)
    'Komplette ext Org, wird dann auf Anlagengenauigkeit und Stellenbesetzung aufgeteilt
    ActiveSheet.Cells(zv, 19).Value = WorksheetFunction.VLookup(ActiveSheet.Cells(zv, 3), Sheets("Org").[A1:H9999], 8, False)
    Next zv

    Schleife 2:

    For zv = 56 To (56 + x)

    If ActiveSheet.Cells(zv, 19).Value = "Fix | Flex" Then
    ActiveSheet.Cells(zv, 17).Value = "Fix"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "Fix | n. Flex" Then
    ActiveSheet.Cells(zv, 17).Value = "Fix"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "variabel | Flex" Then
    ActiveSheet.Cells(zv, 17).Value = "variabel"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "variabel | n. Flex" Then
    ActiveSheet.Cells(zv, 17).Value = "variabel"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "temporär" Then
    ActiveSheet.Cells(zv, 17).Value = "temporär"

    End If

    'Vorgang wird für Stellenbesetzung, also Zeile 18, wiederholt

    If ActiveSheet.Cells(zv, 19).Value = "Fix | Flex" Then
    ActiveSheet.Cells(zv, 18).Value = "flexi"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "Fix | n. Flex" Then
    ActiveSheet.Cells(zv, 18).Value = "Stamm"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "variabel | Flex" Then
    ActiveSheet.Cells(zv, 18).Value = "flexi"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "variabel | n. Flex" Then
    ActiveSheet.Cells(zv, 18).Value = "Stamm"

    ElseIf ActiveSheet.Cells(zv, 19).Value = "temporär" Then
    ActiveSheet.Cells(zv, 18).Value = ""

    End If

    Next zv
     
  5. Hallo,

    genau, das ist beides richtig beschrieben *Smilie

    Falls für dich relevant: Man kann alternativ auch die letzte Zelle in Spalte A bestimmen. Das ist aber im Zweifel eine andere als zuvor, falls die Zellen in Spalte A nicht lückenlos gefüllt sind.

    Viele Grüße
     
    Mc Santa, 8. September 2014
    #5
  6. Hey!

    Genau das habe ich durchgeführt! Bitte aber nochmal den Edit meines vorherigen Postes lesen - wollte einen Doublepost vermeiden, dennoch ist ein Problem aufgetaucht!

    Grüße,
    Marcel

    EDIT: Das Problem hat sich erledigt! Ich habe die Schleife für 1 Zeile zu viel durchgeführt und somit konnte kein VLookup für eine leere Zeile durchgeführt werden. Deshalb habe ich einfach von zv=56 bis x-1 eine Schleife durchgeführt! Trotzdem Danke!
     
  7. Hm, auf Anhieb sieht die Syntax richtig aus, allerdings kann man auf die Schleife verzichten, dann läuft es schneller.

    Kanst du die dazugehörige Datei (anonymisiert) hochladen? Dann kann ich den Fehler bestimmt finden.

    VG
     
    Mc Santa, 8. September 2014
    #7
  8. Anzahl belegter Zeilen in bestimmten Bereich auslesen ?!

    Wie gesagt, das Problem hat sich erledigt - habe die Schleife 1 mal zu oft durchgeführt *wink.gif*

    Naja, sicher könnte man auf die Schleife irgendwie verzichten - aber ich bin noch am Anfang der Programmierung und löse Probleme so, wie sie auf den ersten Blick für mich sinnvoll aussehen - und das Programm / die Berechnung läuft flott und ohne Probleme. *Smilie

    Jetzt kommen nur noch ein paar Ausnahmen dazu, wie TOP oder LEASING Mitarbeiter, für die die Spalten anders ausgefüllt werden und anders gefärbt werden. *redface.gif*

    Leider kann ich die Datei nicht (auch nicht anonymisiert) hochladen, da sie streng geheime Personaldaten der Firma in der ich arbeite beinhalten.

    Trotzdem vielen Dank!

    VG
     
Thema:

Anzahl belegter Zeilen in bestimmten Bereich auslesen ?!

Die Seite wird geladen...
  1. Anzahl belegter Zeilen in bestimmten Bereich auslesen ?! - Similar Threads - Anzahl belegter Zeilen

  2. Variable Anzahl immer 9er Kombination StellenBerechnung

    in Microsoft Excel Hilfe
    Variable Anzahl immer 9er Kombination StellenBerechnung: Hallo schönen Guten Abend mit Bauchweh, das ich bereits habe bei meiner Nicht weiter kommenden Formel. Folgendes Es lässt sich Schwer beschreiben doch ich versuche es Ich habe in J3 einen Wert...
  3. Makro für variable Anzahl von Datensätzen

    in Microsoft Excel Hilfe
    Makro für variable Anzahl von Datensätzen: Hallo zusammen, ich habe wieder einmal ein kleines Excel-Problem, bei dem Ihr mir sicherlich helfen könnt. Ich habe eine Excel-Liste, das ist ein Export aus einem anderen Programm (siehe...
  4. Anzahl der Zimmerbelegungen zu einem bestimmten Zeitpunkt

    in Microsoft Excel Hilfe
    Anzahl der Zimmerbelegungen zu einem bestimmten Zeitpunkt: Hallo Forum, ich habe eine Tabelle, in der eine Zimmernummer, ein Belegungsanfang (Datum und Uhrzeit) und ein Belegungsende (Datum, Uhrzeit) steht. Nun möchte ich auswerten, wie oft ein Zimmer...
  5. Zellwert Tabelle1 Bestimmt Anzahl Zeilen in Tabelle2

    in Microsoft Excel Hilfe
    Zellwert Tabelle1 Bestimmt Anzahl Zeilen in Tabelle2: Hallo zusammen, ich bräuchte bitte einmal Eure Hilfe. Habe keine schlaue Idee wie ich das automatisiert lösen kann. Folgend mein(e) Problem/Idee. Tabelle 1 ist eine Bestellliste...
  6. Anzahl eindeutiger Werte mit mehreren Bedingungen

    in Microsoft Excel Hilfe
    Anzahl eindeutiger Werte mit mehreren Bedingungen: Hi zusammen Ich habe nur Formeln mit eindeutigen Werten und einer Bedingung gefunden. Nicht mal ChatGPT gibt mir die korrekte Antwort. Aufgabenstellung: Spalte A = Quartal Spalte B = Artikel...
  7. Anzahl Wochentag zwischen zwei Daten

    in Microsoft Access Hilfe
    Anzahl Wochentag zwischen zwei Daten: Hallo zusammen!!! Brauche ich den Anzahl Wochentags zwischen zwei Daten finden z.B. wie viele Montag wischen 01.11.2023 und 10.11.2023 Vielen Dank im voraus
  8. MR

    in Microsoft Access Hilfe
    MR: Hallo, wer kann mir einen Tipp geben ? wie kann ich in einer Abfrage die Anzahl der Datensätze für mehrere Tabellen anzeigen ? vielen Dank !
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden