das verstehe ich nun wieder nicht, wie behauptet wird, dass das für mich funktionierende lösungen sind. Die hilfspalte ist gut und wie geschrieben werde ich versuchen dies umzusetzen. Und die VBA würde natürlich auch gut funktionieren, nur das der Textanteil geschlöscht wird war nicht vorgesehen. Ich bin wirklich dankbar für unterstützung, in diesem Fall hat mich einfach interessiert ob es eine direkte Formel Lösung gibt unterhalb der Reihe. (Da ich eigentlich immer Formeln vor VBA bevorzuge), ich möchte allerdings niemanden zu nahe tretten nur weil sein Lösungsansatz nicht der richtige weg ist. (Viele Wege führen nach Rom) Vielleicht auch weil ich mich nicht sauber ausgedrückt habe.
Als Anregung noch: Eine Hilfsspalte muss ja nicht zwangsläufig neben der eigentlichen Spalte liegen. Die kann man ja auch außerhalb des Bereichs legen, in welchem man arbeitet und sie ausblenden. So kriegt der User nichts davon mit. Die Summe bezieht sich dann halt auf die ausgeblendete Spalte und kann trotzdem unter der eigentlichen Spalte stehen.
ich habe mich an der Formel von MisterBurns versucht. Allerdings werden mir der Zeillen Zahlen ausgegeben ... das Liegt wohl daran das ich die VBA über eine hilsspalte laufen lasse, sprich in der zelle AD steht =D14 un gibt F3,5 aus nach VBA steht dann =14, eigentlich sollte dort 3,5 stehen. Kann man das irgendwie umgehen? Das mir wirklich nur das Zahlen format ausgibt, manche zahlen kombinationen werden auch in Datum oder Uhrzeit umgewandelt. Und kann der Code auch mehre Spalten abgriefen z.B. AD AE AF AG ...
natürlich, meine Schuld hier mit Datei. Ich hatte zuerst versucht mit den Formeln von Ralf´s Links und der Hilfsspalte zuarbeiten,(beispiel Zelle AQ4) dass hat auch funktioniert aber die Datei war nach jedem Eintrag Sekunden lang am berechnen das die Datei nicht nutzbar war.. Da es im Original ca 500 Spalten sind mit einer unterschiedlich Zeilen zahl, da immer Zeilen gelöscht oder hinzugefügt werden könnten. Somit wollte ich MisterBurns VBA über die Hilfspalte laufen lassen und die Summe unter den eigentlichen Spalten einfügen.
Mein Code funktioniert tadellos, nur darfst du deine Hilfsspalten nicht mittels Formel verknüpfen. Denn dann löscht der Code die Buchstaben aus den Formeln, somit wird aus "=C4" dann "=4". Ergo: Kopiere den Bereich und füge die Hilfsspalten als feste Werte ein.
ja, der Funktioniert. Allerdings sind die werte nicht fix in der Tabelle, die können immer wieder geändert werden. Somit muss ich die Zellen verknüpfen um immer eine Aktuelle Summe zu haben.
24.10.2018, 14:26 (Dieser Beitrag wurde zuletzt bearbeitet: 24.10.2018, 14:27 von MisterBurns.)
Nein, musst du nicht. Du kannst mit Ausführung des Makros die Hilfsspalten jedes mal einfach neu kopieren (als Werte, nicht als Verknüpfung). Somit hast du immer die aktuellen Werte summiert. Der Code dafür kann zB so aussehen:
Code:
Sub Ersetzen() Dim i As Integer, lastCol As Long, lastColNew As Long, firstColNew As Long, firstCol As Long Dim firstRow As Long, lastRow As Long
lastCol = Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column 'Ermitteln der letzten Spalte firstColNew = lastCol + 3 'Ermitteln der ersten Spalte, in die die Werte kopiert werden
Range(Cells(firstRow, firstCol), Cells(lastRow, lastCol)).Copy Destination:=Cells(firstRow, firstColNew) 'Kopieren der Werte lastColNew = Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column 'Ermitteln dern neuen letzten Spalte
For i = 65 To 122 Range(Columns(firstColNew), Columns(lastColNew)).Replace What:=Chr(i), _ replacement:="", lookat:=xlPart, SearchOrder:=xlByRows 'Buchstaben aus Kopie entfernen Next
For i = firstColNew To lastColNew Cells(lastRow + 1, i) = WorksheetFunction.Sum(Range(Cells(firstRow + 1, i), Cells(lastRow, i))) 'Spalten summieren Next
Ich habe versucht, diesen so variabel wie möglich zu gestalten, da ich natürlich deine Datei nicht kenne, kann hier eine Anpassung notwendig werden. Nach der Summenerstellung werden die Hilfsspalten alle wieder gelöscht.
Schöne Grüße Berni
Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:1 Nutzer sagt Danke an MisterBurns für diesen Beitrag 28 • Tyler