Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten auswerten

Daten auswerten
07.09.2005 03:55:07
Heinz
Hallo zusammen,
ich habe folgendes Problem:
In einer Tabelle werden jeden Tag Daten eingegeben.
In Spalte F wird einen Nummer eingegeben. Diese kann aus reinen Zahlen
aber auch aus Zahlen getrennt durch einen Schräg- oder Bindestrich sein.
In Spalte L wird einen Zeit in Minuten eingetragen.
Nun kommen die Zahlen in Spalte F mehrmals vor.
Ich habe eine Auswertung über Makro die dieses mehrfach vorkommenden Daten
erfasst und die Minuten zusammenrechnet und auf einem anderen Tabellenblatt ausgibt.
Wenn ich nun diese Minuten einfach zusammenrechne kann ich damit nicht viel anfangen.
Ich bräuchte eine Möglichkeit ein Mittel zu bilden.
Also wenn ich die Nummer 123 habe und diese 5 mal vorkommt, dabei 5, 10, 15, 20, 10 als Minuten habe darf nicht die Summe ( 60 ) rauskommen sondern das Mittel ( 15 ). Ich hoffe ich konnte es ausreichend erklären.
Das Makro wird jeweils aus dem Monatschart gestartet.
Anbei mal das Makro:
Type MeineDaten
SerienNummer As Variant 'aus Spalte F
Zeit As Long 'aus Spalte L
Dat As Date
End Type
Dim MDaten(230) As MeineDaten, tmpMDaten As MeineDaten
Public

Sub Zählen()
Application.ScreenUpdating = False
Dat = Range("b1")
Worksheets("Sammeldaten").Unprotect Password:="xxxx"
Worksheets("Sammeldaten").Range("A2:o40") = ""
AnfangsZeile = 5
AnzahlSerienNummer = 0
For i = AnfangsZeile To AnfangsZeile + 315
tmpSerienNummer = Cells(i, 6)
If tmpSerienNummer <> "" Then
Gefunden = False
For k = 1 To AnzahlSerienNummer
If tmpSerienNummer = MDaten(k).SerienNummer Then
MDaten(k).Zeit = MDaten(k).Zeit + Cells(i, 12)
Gefunden = True
Exit For
End If
Next k
If Not Gefunden Then
AnzahlSerienNummer = AnzahlSerienNummer + 1
MDaten(AnzahlSerienNummer).SerienNummer = tmpSerienNummer
MDaten(AnzahlSerienNummer).Zeit = Cells(i, 12)
End If
End If
Next i
'Sortieren nach Spalte b
Do
keine_umstell = True
For i = 1 To AnzahlSerienNummer - 1
tmpMDaten = MDaten(i)
If tmpMDaten.Zeit < MDaten(i + 1).Zeit Then
MDaten(i) = MDaten(i + 1)
MDaten(i + 1) = tmpMDaten
keine_umstell = False
End If
Next i
Loop Until keine_umstell = True
'Ausgabe für Spalte b
For i = 1 To AnzahlSerienNummer
Worksheets("Sammeldaten").Cells(2 + i, 1) = MDaten(i).SerienNummer
Worksheets("Sammeldaten").Cells(2 + i, 2) = MDaten(i).Zeit
Next i
Worksheets("Sammeldaten").Cells(2, 1) = Dat
Worksheets("Sammeldaten").Protect Password:="xxxx"
Application.ScreenUpdating = True
End Sub

Danke vor ab.
Gruß
Heinz

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten auswerten
07.09.2005 20:26:49
Aton
Hallo Heinz
Du Zählst hier die Minuten zusammen.
MDaten(k).Zeit = MDaten(k).Zeit + Cells(i, 12)
Diese Zeile errechnet den Durchschnittswert.
MDaten(k).Zeit =MDaten(k).Zeit / 2
für die Bisherigen Zeiten.
Gruß Aton
AW: Daten auswerten
08.09.2005 02:43:22
Heinz
Hallo Aton,
wenn ich die Zeile um die /2 ergänze bekomme ich nicht das gewünschte Ergebnis.
Bei 2 Zahlen hab ich das mal getestet, wenn ich 10 und 40 Minuten habe müsste als Mittel ja 25 herauskommen. Als Ergenis bringt mir Excel dann aber 35.
Mach ich da was falsch oder stimmt Dein Vorschlag nicht?
Gruß
Heinz
AW: Daten auswerten
08.09.2005 17:14:45
Aton
Hallo ja stimmt
MDaten(k).Zeit = MDaten(k).Zeit * 2 + Cells(i, 12)
MDaten(k).Zeit =MDaten(k).Zeit / 2
So müßte es gehn
Gruß Aton
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige