Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mittelwert

Mittelwert
07.09.2007 13:40:37
Thomas
Hallo zusammen,
Ich hoffe ihr könnt mir helfen
Meine Ausgangslage ist folgende:
Ich habe einen Makro, der mir ein Datum und einen zugehörigen Wert aus einer anderen Exceldatei holt. Dies geschieht auf täglicher Basis, d.h. es kommt immer nur ein Wert und damit nur eine Datumsangabe.
Diese werden immer in die selbe Spalte untereinander geschrieben.
Beispiel:
Mo 30.07.2007 0,56
Die 31.07.2007 1,92
Mi 01.08.2007 1,21
Do 02.08.2007 0,68
Nun zu meinem Problem:
Ich möchte zwei Spalten rechts von dem Zahlenwert den Mittelwert des ganzen aktuellen Monats berechnen lassen. Ich kann deswegen keinen absoluten Mittelwert verwenden, sondern benötige einen rel. Mittelwert zu der Monatsangabe.
Ich hoffe das lässt sich irgendwie bewerkstelligen.
Gruß
Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mittelwert
07.09.2007 13:45:00
Jan3
Hi Thomas,
Kannst Du nicht eine Beispielmappe mit Deinem bisherigen Code ins Forum stelle? Das erleichert die Beantwortung Deiner Frage!
Jan

AW: Mittelwert
07.09.2007 14:04:29
Thomas
Hallo Jan,
Danke erstmal für dein Interesse.
Ich muss kurz auf meinen Chef warten (ca. 20 min.). Der muss das ganze abnehmen, da es sich um
vertrauliche Daten handelt und diese erst verfälscht werden müssen.
Gruß
Thomas

AW: Mittelwert
07.09.2007 14:32:00
Thomas
Hallo Jan
Also die Exceldatei ist leider zu groß (ca.500kb). Deswegen hier der Code und zusätzlich noch Screenshots der einzelnen Tabellenblätter:
Sub Abrechnungsquote()
Dim objThWB As Workbook, objWb As Workbook
Dim wotag As String, datumtag As String, quoteB2B As Double
Dim a As Variant, objFSO
Dim result As Long, lngI As Long, lngR As Long, lngRow As Long
Dim strFile As String, strPath As String
Dim rng As Range
On Error GoTo ErrExit
GMS
'Pfad der durchsucht werden soll
strPath = "XY:\OpEx\Projekt\TP 3 Prozesse\AP 3.4 Prozessanalyse\0.3 Wertpapiertransaktionsprozess\KPI - DWH\Testordner\Fonds\"
If Right(strPath, 1) "\" Then strPath = strPath & "\"
'Dateisuche
result = FileSearchFSO(a, strPath, "*.xls", False)
Set objThWB = ThisWorkbook
Set objFSO = CreateObject("Scripting.FileSystemObject")
If result 0 Then
lngR = Application.Max(objThWB.Sheets("Loginfo").Cells(Rows.Count, 1).End(xlUp).Row + 1, 3)
For lngI = 0 To UBound(a)
strFile = objFSO.GetFileName(a(lngI))
'Feststellen ob Datei bereits ausgelesen wurde
Set rng = objThWB.Sheets("Loginfo").Range("A:C").Find(strFile, LookAt:=xlWhole)
If rng Is Nothing Then
With objThWB.Sheets("Loginfo")
.Cells(lngR, 1) = Application.Max(.Range("A:A")) + 1
.Cells(lngR, 2) = strFile
.Cells(lngR, 3) = Now
lngR = lngR + 1
End With
Set objWb = Workbooks.Open(a(lngI))
With objWb.Sheets("Pivottabelle 7")
wotag = .Range("D4").Value
datumtag = .Range("F4").Value
quoteB2B = .Range("D7").Value
End With
objWb.Close False
With objThWB.Sheets("Abrechnungsquote")
lngRow = .Cells(Rows.Count, 3).End(xlUp).Row + 1
.Cells(lngRow, 2).Formula = wotag
.Cells(lngRow, 3).Formula = datumtag
.Cells(lngRow, 6).Formula = (quoteB2B * 100)
.Cells(lngRow, 4).Formula = "DWH"
.Cells(lngRow, 5).Formula = "Prozent"
If wotag = "Mo" Then
Range("G" & lngRow).Select
ActiveCell.FormulaR1C1 = "=AVERAGE(RC[-1]:R[4]C[-1])"
End If
End With
End If
Next
End If
ErrExit:
GMS True
Set objWb = Nothing
Set objThWB = Nothing
Set objFSO = Nothing
End Sub



Private Function FileSearchFSO(ByRef Files As Variant, ByVal InitialPath As String, Optional  _
ByVal FileName As String = "*", _
Optional ByVal SubFolders As Boolean = False) As Long
Dim objFSO As Object, fsoFolder As Object, fsoSubFolder As Object, fsoFile As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set fsoFolder = objFSO.GetFolder(InitialPath)
On Error Resume Next
For Each fsoFile In fsoFolder.Files
If Not fsoFile Is Nothing Then
If LCase(objFSO.GetFileName(fsoFile)) Like LCase(FileName) Then
If IsArray(Files) Then
ReDim Preserve Files(UBound(Files) + 1)
Else
ReDim Files(0)
End If
Files(UBound(Files)) = fsoFile
End If
End If
Next
If SubFolders Then
For Each fsoSubFolder In fsoFolder.SubFolders
FileSearchFSO Files, fsoSubFolder, FileName, SubFolders
Next
End If
If IsArray(Files) Then FileSearchFSO = UBound(Files) + 1
On Error GoTo 0
Set objFSO = Nothing
Set fsoFolder = Nothing
End Function


Sub GMS(Optional ByVal Modus As Boolean = False)
Static lngCalc As Long
With Application
.ScreenUpdating = Modus
.EnableEvents = Modus
.DisplayAlerts = Modus
.EnableCancelKey = IIf(Modus, 1, 0)
If Modus Then
.Calculation = lngCalc
Else
lngCalc = .Calculation
End If
.Cursor = IIf(Modus, -4143, 2)
.CutCopyMode = False
End With
End Sub


Userbild
Userbild
Userbild
Gruß
Thomas

Anzeige
AW: Mittelwert
07.09.2007 14:59:00
Jan3
Hi,
Die Datei kannst Du doch zippen(packen). Dann kannst Du sie ohne weiteres hochladen.
Jan

AW: Mittelwert
07.09.2007 15:16:23
Thomas
Hi Jan
Das wusste ich leider nicht!
Es gibt jedoch ein Problem:
Der Firmen-Server blockt den Upload wegen dem Makro-Code. Musste ihn deshalb entfernen, aber du findest ihn ja im Thread...
Gruß
Thomas
https://www.herber.de/bbs/user/45786.zip

AW: Mittelwert
08.09.2007 10:20:42
HermannZ
Hallo Thomas;
schreibe in H7 folgende Formel;
{=WENN(MONAT(C9)=MONAT(C10);"";MITTELWERT(WENN(MONAT($C$7:$C$11)=MONAT(C9);$F$7:$F$11)))}
Formel nach unten kopieren.
Hinweis: die geschweiften Klammern nicht eingeben sondern die Formel mit Shift-Strg-Enter abschliessen.
Gruss HermannZ
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige