Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Einzelne Daten aus Tabelle auslesen und ausgeben

Einzelne Daten aus Tabelle auslesen und ausgeben
14.09.2017 14:46:57
Laura
Hallo Makro Experten,
ich brauche Eure Hilfe. Während meines Projektes habe ich mich sehr viel mit Datensammlung und Auswertung beschäftigt.
Zum Abschluss würde ich als i-Tüpfelchen noch ganz gerne ein Makro dazu erstellen.
Zusammenfassung: Ich erhalte aus einer Datenbank Messwerte (Datum, Zeit, Axen-position der Maschine, sowie aktuelle Produktgröße). Das Produkt wird geschnitten. Ich möchte gerne ausgegeben haben wie viele Schnitte welcher Produktgröße gemacht wurden bevor das Werkzeug gewechselt wurde. In excel bin ich recht fit, ich habe mir alle benötigten Daten bereits über Formeln besorgt, allerdings habe ich keine Ahnung von Makro Syntax :(
Nach ausführlicher Forums & Google recherche muss die Logik denke ich ungefähr so lauten:
'Loop der Werkzeugwechsel abfragt und Schnitte je Programm hochzählt
'Variablen und Bereiche deklarieren
'Startpunkt auswählen
'Zähle Schnitte für jeweiliges Programm und schreibe in Zelle
'Do Until Scheibenwechsel ungleich "leer"
'Dann schreibe Zeit des Scheibenwechsels in nächste Zelle
'Zähle wieder Schnitte.. loop von vorne..
'Bis Axpos = ""
'end loop

Ich habe es nicht hinbekommen, mir fehlt einfach die Syntax... angehängt findet ihr einen kleinen Beispiel Ausschnitt der Daten, sowie unter dem Tabellenblatt "Ausgabe" seht Ihr wie ich mir das ungefähr gedacht habe.

Die Datei https://www.herber.de/bbs/user/116241.xlsx wurde aus Datenschutzgründen gelöscht

Vielleicht kann jemand helfen, vielen Dank schon vorab.
SG

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einzelne Daten aus Tabelle auslesen und ausgeben
14.09.2017 16:34:23
onur
Wenn du mir sagst, woran man genau Werkzeugwechsel erkennt, kannst du wahrscheinlich auf die Hilfsspalten verzichten.
AW: Einzelne Daten aus Tabelle auslesen und ausgeben
14.09.2017 16:46:51
UweD
Hallo
Hilfsspalte J und L brauch ich nicht
Hilfsspalte K kann man auch in VBA abdecken (ist mir aber hier zu viel Arbeit)
Den Code in ein normales Modul
Sub TT()
    On Error GoTo Fehler
    Dim TB1, TB2, i As Double, Z As Double, RR As Double, LR As Double
    Dim Anzahl As Integer, Groesse As Integer, Wechsel As Date
    
    '*** Stammdaten Anfang 
    Set TB1 = Sheets("Data")
    Set TB2 = Sheets("Ausgabe")
    '*** Stammdaten Ende 
    
    'reset 
    RR = TB2.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile des gesamten Blattes 
    TB2.Cells(5, 1).Resize(RR - 5, 3).ClearContents
    With TB1
        LR = .Cells(.Rows.Count, "E").End(xlUp).Row 'letzte Zeile der Spalte 
        Z = 5
        For i = 3 To LR
            If .Cells(i, "I") = 1 Then
                If .Cells(i, "G") <> .Cells(i - 1, "G") Then
                    TB2.Cells(Z, "B") = Anzahl
                    Anzahl = 0
                    
                    TB2.Cells(Z, "C") = Groesse
                    Z = Z + 1
                Else
                    Anzahl = Anzahl + 1
                    Groesse = .Cells(i, "G")
                
                End If
            End If
            If .Cells(i, "K") <> "" Then
                Wechsel = .Cells(i, "K")
               
                TB2.Cells(Z, "B") = Anzahl
                Anzahl = 0
                    
                TB2.Cells(Z, "C") = Groesse
                Z = Z + 1
                
                TB2.Cells(Z, "A") = Wechsel
                TB2.Cells(Z, "B") = "Werkzeugwechsel"
                Z = Z + 1
                
            End If
        
        Next
    End With
    
    '*** Fehlerbehandlung 
    Err.Clear
    On Error GoTo Fehler
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: Einzelne Daten aus Tabelle auslesen und ausgeben
14.09.2017 17:06:27
Robert
Hallo Laura,
das ganze müsste auch ohne VBA als Pivot-Tabelle gehen.
https://www.herber.de/bbs/user/116242.xlsx
Dabei bin ich davon ausgegangen, dass nur dann ein Schnitt gezählt werden soll, wenn in der Spalte Schnitt eine 1 steht. Sollte jede Zeile als Schnitt gelten, muss die Berechnung in der Pivot-Tabelle von Summe auf Anzahl geändert werden.
Gruß
Robert
PS
Deine Formel in der Spalte K kann noch etwas verkürzt werden, für die Zelle K3 so:
=WENN(UND(ZÄHLENWENN(H4:H18;">-100")=15;H3

374 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige