Collapse column

Autor Thema: VBA: Userform - KW bestimmen - Wert filtern - Werte zählen - Werte eintragen  (Gelesen 1766 mal)

Offline einfachbauen

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013
Hallo zusammen,

ich hoffe ihr könnt mir bei meinem Problem helfen.

Es geht darum, dass Mitarbeiter in der Produktion einen Eintrag in eine Excel Userform tätigen, um Fehler zu erfassen.
Dort sind Dropdown-Listen vorbereitet, eine Datumsauswahl und zuletzt müssen sie selbständig die Artikelnummer eingeben.

Es existieren also 7 Baugruppen, 10 Fehlerarten und 2 Fehlerorte.

Die Excel-Userform:
Fertig. Aber wie kann ich die Kalenderwoche in einer weiteren Spalte automatisch anzeigen lassen? Das Datum steht ja schon in einer vorherigen Spalte.

Die Daten werden also in die entsprechende Sammelliste eingetragen.

Jetzt zur Auswertung:
Ich möchte, dass für eine bestimmte Kalenderwoche (per Eingabe) die Arbeitsmappe "Vorlage" mit der entsprechenden Häufigkeit der Fehler einer bestimmten Baugruppe+Fehlerart+Fehlerort ausgefüllt wird.

Also beispielsweise taucht die Baugruppe 3 mit dem Fehler 3 unten in der Kalenderwoche 23 zweimal auf.

Einzelne Code-Segmente habe ich schon erarbeitet, allerdings fehlt mir der Zusammenhang.


Filtern von Daten
Sub Filter1()

 Dim Eingabe As String

 Eingabe = InputBox("Geben Sie die KW ein.")

 Sheets("Daten").UsedRange.AutoFilter Field:=6, Criteria1:="=" & Eingabe
 Sheets("Daten").UsedRange.AutoFilter Field:=1, Criteria1:="F3"
 Sheets("Daten").UsedRange.AutoFilter Field:=2, Criteria1:="Fehler3"
 Sheets("Daten").UsedRange.AutoFilter Field:=3, Criteria1:="oben"



Zählen der gefilterten Daten, und Eintrag in das Feld Daten.
Sub x()
   Dim lngLastRow As Long
   Dim intLastColumn As Integer
   
   With Worksheets("Daten")
      lngLastRow = IIf(Len(.Cells(.Rows.Count, 1)), .Rows.Count, .Cells(.Rows.Count, 1).End(xlUp).Row)
   End With
   Worksheets("Vorlage").Range("D8").Value = lngLastRow - 1
End Sub


Reset des Filters
Sub Reset_Autofilter()
With Daten
.ShowAllData
End With
End Sub


Erstellen einer neuen Arbeitsmappe
Sub Create_wks()
    Worksheets("Vorlage").Copy before:=Worksheets("Daten")
    ActiveSheet.Name = "Kalenderwoche " & Worksheets.Count - 2
End Sub


Ich brauche eure Hilfe also bei:
1. Wie trage ich die Kalenderwoche ausgehend vom Datum in Spalte D mittels Makro in Spalte F ein?
2. Was muss ich tun, damit Excel nach der Eingabe der KW ein neues Blatt mit der Vorlage erstellt und im alten Arbeitsblatt die einzelnen Kombinationsmöglichkeiten durchläuft (Beispiel: F1&Fehler1&oben, F1&Fehler1&unten,...) und die Anzahl auf dieses neue Blatt einträgt?

Freue mich auf eure Unterstützung!

Viele Grüße

Jan

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.