Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
944to948
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
944to948
944to948
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gewichtete Einträge summieren

Gewichtete Einträge summieren
29.01.2008 11:21:56
Thomas
hallo,
ich glaub, aus der überschrift wird man nicht ganz schlau. und zwar habe ich bereits ein makro (danke an MichaV!), mit welchem ich eine liste durchforste und danach ausweise, welches wort wie oft prozentual vorkommt. beispiel: man hat eine liste, wobei eine spalte das herkunftsland angibt und ich möchte wissen, welches land wie oft vorkommt. das klappt alles problemlos mit folgendem makro:
Dim rngAuswahl As Range
Dim rngZelle As Range
Dim strGefunden As String
Dim lngAnzahl As Long
Dim lngProzent As Single
If Not TypeName(Selection) = "Range" Then Exit Sub
Set rngAuswahl = Selection
lngAnzahl = rngAuswahl.Cells.Count
strGefunden = vbCrLf
Range("E2").Select
For Each rngZelle In rngAuswahl
If InStr(strGefunden, vbCrLf & rngZelle) = 0 Then
lngProzent = Application.WorksheetFunction.CountIf(rngAuswahl, rngZelle) / lngAnzahl
ActiveCell.Value = rngZelle
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = lngProzent
ActiveCell.Offset(1, -1).Select
strGefunden = strGefunden & rngZelle & vbCrLf
End If
Next
Nun möchte ich das ganze insofern modifizieren, daß vor der spalte mit den ländern eine weitere spalte mit verschiedenen gewichtungen drinsteht, also z.b. 5% dtland, 3% frankreich, 2% dtland etc. das makro soll dann wieder prüfen, welches land wie oft vorkommt und dabei die gewichtungen summieren und ausgeben.
habe mal ein bisschen rumprobiert, wie das makro dann aussehen müßte, komme aber auf keinen grünen zweig. wer kann helfen?
danke und gruß,
thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gewichtete Einträge summieren
29.01.2008 15:08:00
fcs
Hallo Thomas,
so als Ansatz:

Sub aaTest()
Dim rngAuswahl As Range
Dim rngZelle As Range
Dim strGefunden As String
Dim lngAnzahl As Long
Dim lngProzent As Single
Dim dblGewicht As Double
If Not TypeName(Selection) = "Range" Then Exit Sub
Set rngAuswahl = Selection
lngAnzahl = rngAuswahl.Cells.Count
strGefunden = vbCrLf
Range("E2").Select
With Application.WorksheetFunction
For Each rngZelle In rngAuswahl
If InStr(strGefunden, vbCrLf & rngZelle) = 0 Then
lngProzent = .CountIf(rngAuswahl, rngZelle) / lngAnzahl
dblGewicht = .SumIf(rngAuswahl, rngZelle, rngAuswahl.Offset(0, -1))
ActiveCell.Value = rngZelle
ActiveCell.Offset(0, 1).Value = lngProzent 'Prozentanteile Anzahl
ActiveCell.Offset(0, 2).Value = dblGewicht 'Gewichtsanteil Land absolut
ActiveCell.Offset(0, 3).Value = dblGewicht _
/ .Sum(rngAuswahl.Offset(0, -1)) 'GewichtsAnteil-Prozent
ActiveCell.Offset(1, 0).Select
strGefunden = strGefunden & rngZelle & vbCrLf
End If
Next
End With
End Sub


Vor ddem Start des Makros markierst du wie bisher die Namen der Länder.
Gruß
Franz

Anzeige
AW: Gewichtete Einträge summieren
29.01.2008 15:22:00
Thomas
@franz: perfekt, dank dir vielmals!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige