Thema Datum  Von Nutzer Rating
Antwort
23.06.2020 09:46:21 graber
NotSolved
25.06.2020 00:08:28 Gast34965
NotSolved
26.06.2020 08:27:26 Gast89304
NotSolved
Blau Summenzeile
27.06.2020 01:28:42 Gast61544
NotSolved
27.06.2020 15:07:30 Gast61116
Solved
30.06.2020 15:15:04 graber
NotSolved
01.07.2020 10:32:42 graber
NotSolved

Ansicht des Beitrags:
Von:
Gast61544
Datum:
27.06.2020 01:28:42
Views:
842
Rating: Antwort:
  Ja
Thema:
Summenzeile

Alles ist möglich ;-)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
Option Explicit
 
Public daten As Collection
Public import As Range
Public auswertung As Range
Public pos_aus As Long
Public adrTeilErg() As Variant
 
Sub teilsummen()
 
Set import = Sheets("Import").Range("A1")
Set auswertung = Sheets("Auswertung").Range("A1")
Set daten = New Collection
 
ReDim adrTeilErg(1)
 
adrTeilErg(1) = ""
pos_aus = 1
 
auslesen einlesen
 
Set import = Nothing
Set auswertung = Nothing
Set daten = Nothing
 
End Sub
 
 
Function einlesen()
 
Dim einZeil As Long
Dim aktzeil As String
 
einZeil = 1
aktzeil = import.Cells(einZeil, 1).Value
 
While aktzeil <> ""
 
On Error Resume Next
 
aktzeil = daten(aktzeil)
If Err.Number <> 0 Then
   daten.Add aktzeil, aktzeil
End If
einZeil = einZeil + 1
aktzeil = import.Cells(einZeil, 1).Value
Wend
einlesen = einZeil - 1
End Function
 
Function auslesen(elemente)
 
Dim head As Long
Dim data As Long
Dim akt As Double
Dim vonAdr As Long
 
vonAdr = 1
  
 For head = 1 To daten.Count
    For data = 1 To elemente
         
        If CStr(import.Cells(data, 1).Value) = CStr(daten(head)) Then
        akt = import.Cells(data, 2).Value
        out auswertung.Cells(pos_aus, 1).Address, "'" & CStr(daten(head)), 0
        out auswertung.Cells(pos_aus, 2).Address, akt, 0
        pos_aus = pos_aus + 1
        End If
    Next
 
out auswertung.Cells(pos_aus, 1).Address, "'" & CStr(daten(head)), 1
out auswertung.Cells(pos_aus, 2).Address, 0, 1, vonAdr
 
vonAdr = auswertung.Cells(pos_aus, 2).Row + 2
pos_aus = pos_aus + 2
 
Next
 
pos_aus = pos_aus + 1
out auswertung.Cells(pos_aus, 1).Address, "Gesamt", 2
out auswertung.Cells(pos_aus, 2).Address, 0, 2
End Function
 
 
 
Function out(zelle, wert, linie, Optional vonAdr = "")
Dim last As Long
Dim neu As Long
Dim dl As Long
Dim sumString As String
 
If vonAdr = "" Then
    auswertung.Range(zelle) = wert
Else
    last = auswertung.Range(zelle).Row - 1
    auswertung.Range(zelle).FormulaR1C1 = "=sum(R" & vonAdr & "C2:R" & last & "C2)"
 
    neu = UBound(adrTeilErg) + 1
    ReDim Preserve adrTeilErg(neu)
    adrTeilErg(neu - 1) = last + 1
End If
 
If linie <> 0 Then
    With auswertung.Range(zelle)
        .Font.Bold = True
        .Borders(xlTop).LineStyle = xlContinuous
    End With
End If
 
If linie = 2 Then
    auswertung.Range(zelle).Borders(xlEdgeBottom).LineStyle = xlDouble
    If auswertung.Range(zelle).Column = 2 Then
        sumString = "="
        For dl = 1 To UBound(adrTeilErg) - 1
            sumString = sumString & "R" & adrTeilErg(dl) & "C2+"
        Next
        sumString = Mid(sumString, 1, Len(sumString) - 1)
        auswertung.Range(zelle).Formula = sumString
         
    End If
End If
 
End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
23.06.2020 09:46:21 graber
NotSolved
25.06.2020 00:08:28 Gast34965
NotSolved
26.06.2020 08:27:26 Gast89304
NotSolved
Blau Summenzeile
27.06.2020 01:28:42 Gast61544
NotSolved
27.06.2020 15:07:30 Gast61116
Solved
30.06.2020 15:15:04 graber
NotSolved
01.07.2020 10:32:42 graber
NotSolved