Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Zählen ändern
#11
Nachdem der Fragesteller zuletzt online war, nachdem Gast123 seine Lösung gepostet hat, ohne eine Antwort zu geben, gehe ich mal davon aus, dass wir von dem nichts mehr hören.
Schöne Grüße
Berni
Antworten Top
#12
Hallo zusammen,

Sorry, ich war jetzt beruflich im Ausland.

Ich brauche die Wertänderung, weil das Programm nur bis 200,0000 annimmt. Deswegen müssen alle Werte geändert werden.

Gast 123 hat es richtig erkannt. 200/endsumme.

die Frage ist, wie bekomme ich das in VBA hin denn ich draf keine Hilfsspalte nutzen.

Alle Werte müssen immer ,0000 sein 

Sorry das ich nicht früher melden konnte, so spontan weg musste ich noch nie.
Liebe Grüße 

Liebe und schöne Grüße von der Ostsee Smile Heart

××××××××××××××××××××××××××××××××××××××××

EXCEL 2010 
Antworten Top
#13
Achtung, dieser Code überschreibt die Werte in Spalte A in gewünschter Weise. 
Code:
Sub test()
Dim Summe As Double, Faktor As Double, i As Integer, letzte As Integer

With Sheets("Tabelle1")
   letzte = .Cells(.Rows.Count, "A").End(xlUp).Row
   Summe = Application.WorksheetFunction.Sum(Sheets("Tabelle1").Range("A2:A" & letzte))
   Faktor = 200 / Summe
   For i = 2 To letzte
       .Cells(i, "B") = .Cells(i, "A") * Faktor
   Next i
End With

End Sub

Beachte außerdem, dass es keine Gesamtsumme unter den Werten geben darf, da diese sonst natürlich das Ergebnis verfälschen würde. Soll heißen, es dürfen in der Liste nur die zu verändernden Werte stehen. Sollte eine Gesamtsumme vorhanden sein, ändere die Zeile

Code:
letzte = .Cells(.Rows.Count, "A").End(xlUp).Row
in
Code:
letzte = .Cells(.Rows.Count, "A").End(xlUp).Row - 1


Nachtrag:
Das Ganze geht natürlich auch flott ganz ohne VBA. Rechne in einer beliebigen Zelle den Faktor aus, sprich 200/Gesamtsumme_alte_Werte. Kopiere nun genau diese Zelle und markiere danach die Liste mit den Einzelwerten (nur markieren, sonst nichts machen).
Nun wähle im Register Start den kleinen Pfeil unterhalb des Einfügen-Buttons und wähle "Inhalte einfügen". Markiere die Punkte "Werte" und "Multiplizieren" --> Ok. Somit wurden alle alten Werte mit dem Faktor multipliziert. Die Hilfszelle kannst du wieder löschen.
Schöne Grüße
Berni
Antworten Top
#14
Hallo MisterBurns,

es klappt super. Dankeschön
Liebe Grüße 

Liebe und schöne Grüße von der Ostsee Smile Heart

××××××××××××××××××××××××××××××××××××××××

EXCEL 2010 
Antworten Top
#15
Nur noch ein Problem 

Alle zahlen sind z.B. 0,16383874

zum einlesen darf es nur vier Stellen nach Komma sein.

Auch wenn ich Zellen Formation mache , Zahl nach vier Dezimalstellen ändere ich nur das aussehen. 

Ich kann nämlich nur vier stellig nach Komma einfügen.
Liebe Grüße 

Liebe und schöne Grüße von der Ostsee Smile Heart

××××××××××××××××××××××××××××××××××××××××

EXCEL 2010 
Antworten Top
#16
Ersetze die Zeile
Code:
      .Cells(i, "B") = .Cells(i, "A") * Faktor
durch
Code:
      .Cells(i, "B") = Application.WorksheetFunction.Round((.Cells(i, "A") * Faktor), 4)
Schöne Grüße
Berni
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste