Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1060to1064
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
Inhaltsverzeichnis

Tino, help please

Tino, help please
24.03.2009 11:41:06
Joachim
Hallo Tino,
brauche Deine Hilfe nochmal. Du hast mir mal vor einiger Zeit diesen Code geschrieben. Vielleicht kannst Du dich noch dran erinnern. Der Code soll bei gleich vor kommenden Kriterien in Spalte B diese zu einem DS zusammenfassen und soll die Zahlen in den Spalten J, M, O... addieren:

Sub Daten_zusammenfassen()
Application.ScreenUpdating = False
Dim Bereich1 As Range, Bereich2 As Range, Bereich3 As Range, rTemp As Range
Dim strText As String
Dim lRow As Long, LLRow As Long
Dim meAr()
With Application
.ScreenUpdating = False
.EnableEvents = False
Set Bereich1 = Range("B10", Cells(Rows.Count, 2).End(xlUp))
Set Bereich1 = Bereich1.Offset(0, Columns.Count - 1 - Bereich1.Column)
Set Bereich2 = Bereich1.Offset(0, 1)
lRow = Bereich1(Bereich1.Cells.Count).Row
Bereich2.FormulaR1C1 = "=IF(AND(COUNTIF(RC2:R" & lRow & "C2,RC2)1,RC2""""),0,"""")"
If Application.WorksheetFunction.CountIf(Bereich2, 0) > 0 Then
'     'Spalte 10 = J
Bereich1.FormulaR1C1 = "=IF(RC2"""",SUMIF(R10C2:R" & lRow & "C2,RC2,R10C10:R" & lRow & " _
C10),RC10)"
Bereich1.Offset(0, -(Bereich1.Column - 10)) = Bereich1.Value
'Spalte 13 = M
Bereich1.FormulaR1C1 = "=IF(RC2"""",SUMIF(R10C2:R" & lRow & "C2,RC2,R10C13:R" & lRow & " _
C13),RC13)"
Bereich1.Offset(0, -(Bereich1.Column - 13)) = Bereich1.Value
'Spalte 15 = O
Bereich1.FormulaR1C1 = "=IF(RC2"""",SUMIF(R10C2:R" & lRow & "C2,RC2,R10C15:R" & lRow & " _
C15),RC15)"
Bereich1.Offset(0, -(Bereich1.Column - 15)) = Bereich1.Value
'Spalte 18 = R
Bereich1.FormulaR1C1 = "=IF(RC2"""",SUMIF(R10C2:R" & lRow & "C2,RC2,R10C18:R" & lRow & " _
C18),RC18)"
Bereich1.Offset(0, -(Bereich1.Column - 18)) = Bereich1.Value
'Spalte 19 = S
Bereich1.FormulaR1C1 = "=IF(RC2"""",SUMIF(R10C2:R" & lRow & "C2,RC2,R10C19:R" & lRow & " _
C19),RC19)"
Bereich1.Offset(0, -(Bereich1.Column - 19)) = Bereich1.Value
'Spalte 27 = AA
Bereich1.FormulaR1C1 = "=IF(RC2"""",SUMIF(R10C2:R" & lRow & "C2,RC2,R10C27:R" & lRow & " _
C27),RC27)"
Bereich1.Offset(0, -(Bereich1.Column - 27)) = Bereich1.Value
Set Bereich3 = Range("B10", Cells(Rows.Count, 2).End(xlUp))
'Texte zusammenführen, getrennt durch ;
For lRow = 1 To Bereich3.Cells.Count
If Bereich3(lRow)  "" Then
For LLRow = 1 To Bereich3.Cells.Count
If Bereich3(lRow) = Bereich3(LLRow) Then
strText = strText & Bereich3(LLRow).Offset(0, 10) & "; "
End If
Set rTemp = Bereich3(LLRow).Offset(0, Columns.Count - Bereich3(LLRow).Column)
If rTemp.Value = "" And (Bereich3(LLRow) = Bereich3(lRow)) Then
If InStr(Bereich3(LLRow).Offset(0, 10), ";") = 0 Then
Bereich3(LLRow).Offset(0, 10) = Left$(strText, Len(strText) - 2)
End If
strText = ""
Exit For
End If
Next LLRow
End If
Next lRow
'Zeilen löschen
Bereich2.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Delete
End If
'Hilfsspalten löschen
Columns(Bereich1.Column).Delete
Columns(Bereich2.Column).Delete
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub


Gestern hatte ich einen Trade eingestellt, wo es drum ging, Leerzeichen zu löschen und das Format umzuwandeln:


Sub Makro1()
With Sheets("Temp").Range("D:D,DG:DG,DV:DV")
.NumberFormat = "General"
.Replace " ", "", 2, 1, False, False, False
End With
End Sub


(DD in Temp wäre zB. nachher in "Daten" die Spalte J)
(siehe gestern 13:50:04)
Die Daten werden in TEMP eingelsen, dann werden dort in den Spalten die Leerzeichen gelöscht und dann wird alles in mein "Daten" sheet kopiert, dort findet dann die Zusammenfassung statt.
Als Ergebnis kommt aber überall "0" raus. Also, wenn ich 3 DS hätte, die in B "test" stehn haben und zB in der Spalte J die Werte 2, 4, 5 hätte, kommt als Ergebnsi nicht 11, sondern immer 0 raus.
Wandele ich die Spalte evt in ein falsches Format um, mit den Excel nicht mehr rechnen kann ?
Wenn Du mit dem Code nichts anfangen kannst, Mache ich Dir ein Beispiel zusammen, aber vielleicht erkennst Du ja so schon was.
Danke
Gruss
Joachim

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

Betreff
Datum
Anwender
Anzeige
AW: Tino, help please
25.03.2009 07:38:49
Tino
Hallo Joachim,
wenn Du ein Beispiel hättest wäre schon besser.
Gruß Tino
AW: Tino, help please
25.03.2009 18:52:13
Joachim
Hallo Tino,
ich glaube , ich habe es anders auch hingebracht. Bin auf mein alten Code zurück gegangen. geht auch so.
Trotzdem Danke für Dein Angebot.
Wenn ich garnicht weiter komme, melde ich mich nochmal mit Beispiel.
Gruss
Joachim
ist Recht oT.
25.03.2009 23:17:18
Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige