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. Abfrage: Anzahl von Kriterium >0

    in Microsoft Access Hilfe
    Abfrage: Anzahl von Kriterium >0: Hallo, [ATTACH] Ich versuche gerade, die Anzahl der belegten Plätze auf einem LKW per Abfrage zu ermitteln. Dabei wäre dann FSPal > 0. Leider zeigt er mir die Anzahl der Plätze an. [ATTACH]...
  3. Anzahl der Downloads bereitgestellter Dateien anzeigen

    in Lob, Kritik und Verbesserungsvorschläge
    Anzahl der Downloads bereitgestellter Dateien anzeigen: Hi, wäre schön, wenn man sehen könnte, wie oft eine Datei, die man zum Download bereitgestellt hat, tatsächlich gedownloadet wurde.
  4. Anzahl der Top 5 Werte zeilenweise Zählen

    in Microsoft Excel Hilfe
    Anzahl der Top 5 Werte zeilenweise Zählen: Hallo Liebe Forenmitglieder, ich habe eine Tabelle mit 40 Namen untereinander und trage wöchentlich eine Zahl in der Spalte der jeweiligen KW ein. (Mit einer bedingten Formatierung ermittle ich,...
  5. Anzahl mit bedingungen

    in Microsoft Excel Hilfe
    Anzahl mit bedingungen: Hallo, ich möchte im Tabellenblatt: "Tabelle1" in den Gelben Feldern, jeweils die Anzahl M bzw W aus Tabelle: "test" haben, aber da die Namen mehrfach vorkommen können sollte jeweils nur einmal...
  6. Anzahl Tage berechnen, inclusiv Startdatum

    in Microsoft Excel Hilfe
    Anzahl Tage berechnen, inclusiv Startdatum: Guten Tag zusammen, ich benötige einmal Hilfe für eine Funktion (wenn es sie denn gibt) für die Berechnung von Anzahl Tagen, jedoch inclusiv des Starttages. Ich kenne es so, dass man den...
  7. 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...
  8. 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...
  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