Clever-Excel-Forum

Normale Version: Statistik erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Halllo,

ich bin Neuling in der VBA-Programmierung - meine erste Programmierung - und habe ein Problem bei meinem letzten Code.

Bei der Durchsicht des Forums/Internets habe ich einen Code/Beitrag gefunden, der meinen Vorstellungen sehr nahe kommt.

https://www.clever-excel-forum.de/thread...+schreiben

Diesen habe ich auf meine Tabelle angepasst:

Code:
Public Sub Worksheet_Activate()
  Dim i As Long
  Dim varQ As Variant

  Me.Range(Me.Cells(2, 1), Me.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 4)) = "" 'ab A2 Zeilen leeren

  For i = 1 To 10 'Anzahl vorhandener Tabellenblätter

    With Worksheets(i)

      If Len(.Cells(13, 1)) Then 'Zelle A13 befüllt dann
        varQ = .Range(.Cells(13, 1), .Cells(.Rows.Count, 1).End(xlUp)).Resize(, 4).Value 'ab Zelle A13 bis zum Ende Daten aus den Spalte A bis D einsammeln
      Else
        ReDim varQ(0)
      End If
    End With

    If UBound(varQ) Then

      With Me.Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(varQ))
        .Value = Worksheets(i).Name 'Herkunft der Daten
        .Offset(, 1).Resize(, UBound(varQ, 2)).Value = varQ 'nacheinander in das Tabellenblatt schreiben
      End With

    End If

  Next i

End Sub

Es gelingt mir aber leider nicht folgende Änderungen mit aufzunehmen:

- die Daten sollen nur in das Tabellenblatt "Statistik" übertragen werden, wenn in Spalte D ein Eintrag in den Zellen steht
- im Anschluss daran sollen die übernommenen Zeilen aus den Tabellenblättern 1 bis 10 gelöscht werden.

Ich habe eine Beispieldatei inklusive der weiteren Codes (auskommentiert) angehängt. Diese funktionieren soweit einwandfrei.

Die Tabelle wird laufend neu befüllt.

Wäre es möglich derart die Übernahme der Daten zu variieren, dass

- bei Eingabe eines "x" nur die Spalten A - D und
- bei Eingabe der Kürzel "P1", "P4", "P6", "N1", "N2", "N3"; "N4" die gesamte Zeile übertragen wird?

Kann mir bitte jemand helfen. Vielen Dank!

Gruß
Ramona
Hallo Ramona,

zunächst (wieder) einmal die Frage, ob es einen nachvollziehbaren Grund gibt, gleichartige Daten auf mehrere Blätter zu verteilen. Wenn dem so ist, stellt sich die Frage, warum hinter jedem Blatt offenbar eine identisches Makro steht. Das könnte im Modul der Arbeitsmappe auf alle einzelnen Blätter wirken, soweit das gewünscht ist, ansonsten kann man einzelne Blätter davon ausnehmen.
Hallo Klaus-Dieter,

vielen Dank für deine Rückmeldung!

Wenn ich dich richtig verstanden habe, die einzelnen Tabellen werden für 10 Mitarbeiter*innen benötigt, die unterschiedliche Fälle bearbeiten; in der Sache ist die Arbeit für alle die gleiche. Es soll jede*r Mitarbeiter*in nur ihre/seine Tabelle sehen können (usergesteuert).

Die abschließend bearbeiteten Fälle sind an Spalte D erkennbar. Anhand dessen mache ich die Statistik und muss auch einige Fälle weiterleiten.

Das Makro in den Arbeitsblättern dient einer Berechnung für die in der Tabelle (Tagesdatum (Spalte X) - Datum des Erreichens der Volljährigkeit (Spalte M) = Anzahl der verbleibende Tage (Spalte N)) vorhanden Daten. Dies muss für jede Tabelle erfolgen, da die die Berechnung auch nur erfolgen soll, wenn Spalte M belegt ist. Sorry, dass ist in meiner Beispieldatei so nicht erkennbar.

Ich habe angenommen, dass ich das Modul für jede Tabelle extra erfassen muss?

Gruß
Ramona
Hallo Ramona,

das jede Mitarbeiterin und jeder Mitarbeiter nur die "eigene" Tabelle sehen können soll, ist ein großer Wunsch, den dir Excel nicht erfüllen kann. Es gibt da zwar verschiedene Möglichkeiten, aber sicher im Sinne des Datenschutzes, ist das nicht. 


Zitat:Ich habe angenommen, dass ich das Modul für jede Tabelle extra erfassen muss?


Das ist nicht so.
Hallo Klaus-Dieter,

das geht mit CRYPT sogar in einer .XLSX

Der Code von CRYPT ist super einfach (keine Geheimwissenschaft! Es kommt nur auf den Schlüssel an; der sollte zwischen zwei Beteiligten immer diskret vereinbart sein, und zwar nur mündlich oder auf einem Fetzen Papier, den man dann vernichtet) und kann für jede alte Excel-Version auch als VBA-UDF oder als Formelkette umgesetzt werden.
Hallo,

kann mir niemand weiter helfen?

Vielen Dank!

Gruß

Ramona
Hallo Ramona,

im Prinzip schon, wie willst du denn jetzt verfahren? Verlässt du dich darauf, das deine Kolleginnen und Kollegen nicht in der Lage sind, die Seiten einzusehen,, die nicht für sie bestimmt sind oder verfolgst du den Vorschlag von LCohen weiter?
Hallo Klaus-Dieter,

aktuell sieht es eigentlich so aus, dass tatsächlich immer nur die jeweilige Kollegin/der jeweilige Kollege sein Tabellenblatt sehen kann. Ich habe die Programmierung mit "xlSheetVeryHidden" geschrieben. Beim "Austesten" sah es gut aus. Ein Einblenden der Tabellenblätter war nicht möglich.

Der Vorschlag von LCohen überfordert mich eher. So viel Ahnung habe ich da nicht.

Gruß

Ramona
Hallo Ramona,

gut, dann sprechen wir jetzt über die Abänderung des Makros, damit es in der gesamten Datei wirkt?
Hallo

Obwohl ich Klaus-Dieter zustimme.
Hier eine VBA- und Formellose Statistik.
Seiten: 1 2