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

22seitigeTabellenblätter Format, Faktor + aufrunde

22seitigeTabellenblätter Format, Faktor + aufrunde
19.02.2017 13:03:32
Gerber
Hallo zusammen
Ich suche seit 3 x 3h nach der richtigen Lösunge (auch im Google), aber irgendwie steht's immer.
Eine Preisliste (1 Arbeitsmappe mit 22 Tabellenblättern) mit Eurowerten. Die Eurowerte müssen in "Format, Zahl" geändert werden (machte ich über Suchen - Ersetzen). - Dann muss ein Faktor von 1.2 daraufgerechnet werden. (Das machte ich über Inhalte einfügen... Multiplizieren) - UND jetzt, da komm ich nicht weiter:
in der selben Zelle soll dieser Wert auf 10 aufgerundet werden. Ich kenne die verschiedenen Formeln alle von runden / vrunden / obergrenze.genau ... DOCH: ich muss in wenn irgend möglich den Wert in der selben Zelle haben (da hät ich den Zirkelbezug). Gibt es eine VBA-Lösung. Wo möglich für den gesamten Schritt:
Währung in Zahl, dann multiplizieren mal 1.2, dann aufrunden.
Ach ja, die Liste hat im Spalte A eine Grössenangabe: Bsp. 20x300 dann in Spalte B, C, D, E, F die Zahlen, welche angepasst werden müssen.
Zudem stehen zum Teil in Zeile 1, dann Zeile 2 Leerzeile (Darstellung), danach Zeile 3 - 6 stehen die weitere Werte, dann Zeile 7 wieder leer, etc.
Ich hoffe, jemand der noch mehr (oder wirklich Crack ist in Excel) ;-) kann mir dabei bald helfen. Denn ich muss diese Listen nachher noch in InDesign einfügen...
also noch genügend Arbeit...
Vielen Dank!
Dominique

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 22seitigeTabellenblätter Format, Faktor + aufrunde
19.02.2017 13:51:50
onur
Hi Dominique,
Cross-Posting wird nicht gerne gesehen.
Das einem button zuweisen:
Sub Schaltfläche1_Klicken()
Dim z, s, f, v
f = "#,##0 [$€-1];[Red]-#,##0 [$€-1]"
For z = 1 To 1000
For s = 1 To 100
If ActiveSheet.Cells(z, s)  "" Then
If ActiveSheet.Cells(z, s).NumberFormat = f Then
v = ActiveSheet.Cells(z, s)
v = v * 1.2
v = 10 * (1 + Int((v - 0.001) / 10))
ActiveSheet.Cells(z, s) = v
End If
End If
Next s
Next z
End Sub

AW: 22seitigeTabellenblätter Format, Faktor + aufrunde
19.02.2017 14:18:42
Gerber
Danke Onur - auch für den Hinweis.
Ich habe / bewege mich zuwenig in Foren.
Versuchs gleich in der Mac-Version mit dem VBA!
... Vielen herzlichen Dank!
Cool wär jetzt noch, wenn das über die gesamte Arbeitsmappe (22 Tabellenblätter) mit einem Klick im VBA gehen würde.. und das Euro-Zeichen durch Standart ohne Währung angepasst würde.
Gruss
Dominique
Anzeige
AW: 22seitigeTabellenblätter Format, Faktor + aufrunde
19.02.2017 14:25:44
onur
Geht alles:
Sub Schaltfläche1_Klicken()
Dim z, s, f, v, wks
f = "#,##0 [$€-1];[Red]-#,##0 [$€-1]"
For Each wks In ActiveWorkbook.Worksheets
For z = 1 To 1000
For s = 1 To 100
If wks.Cells(z, s)  "" Then
If wks.Cells(z, s).NumberFormat = f Then
v = wks.Cells(z, s)
v = v * 1.2
v = 10 * (1 + Int((v - 0.001) / 10))
wks.Cells(z, s) = v
wks.Cells(z, s).NumberFormat = "General"
End If
End If
Next s
Next z
Next wks
End Sub

DANKE - AW: 22seitigeTabellenblätter
19.02.2017 14:56:15
Gerber
Hi Onur,
D A N K E (ohne zu schreien)
Hast mir sehr, sehr geholfen (...und vorallem kann ich mit deiner Lösung mein VBA-Wissen jetzt gezielt erweitern).
Schönen Sonntag,
Dominique
Anzeige
Deine Dims sind alle Variant, ...
19.02.2017 17:38:49
Luc:-?
…onur,
dann kannst du auch gleich ohne arbeiten! Ansonsten, wie wär's damit:
Dim v As Double, f As String, xZ As Range, wks As Worksheet
f = "#,##0 [$€-1];[Red]-#,##0 [$€-1]"
For Each wks In ActiveWorkbook.Worksheets
For Each xZ In wks.Cells
If xZ.NumberFormat = f Then
xZ.NumberFormat = "General"
If xZ  "" Then
v = xZ * 1.2
v = 10 * (1 + Int((v - 0.001) / 10))
xZ = v
End If
End If
Next xZ
Next wks
Und das muss man auch nicht extra auf einen Button legen, sondern könnte ggf auch gleiche Bereiche bzw jeden einzelnen Bereich per Constante vorgeben oder bei nur einem Blatt über die Auswahl festlegen: For Each xZ In ActiveWindow.RangeSelection
Dem Makro könnte über das Makro-Menü auch ein ShortCut zugeordnet wdn, falls das häufiger benötigt wird.
Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Deine Dims sind alle Variant, ...
19.02.2017 17:53:28
onur
Hi Luc,
Wenn ich Unterricht brauche, dann gehe ich zur Schule.
Nicht ICH brauche deine Hilfe, sondern der User.
Das Forum (so dachte ich jedenfalls), dient doch dazu, den Usern zu helfen und nicht dazu, andere Leute zu "verbessern" oder (entschuldige bitte den Ausdruck) klugzusch.....
Gruß
Onur
Damit hast du, zumindest bei mir, ...
19.02.2017 18:43:56
Luc:-?
…(„entschuldige bitte den Ausdruck“) versch…, onur,
denn das Motto aller mir bekannten Office-Foren lautet ja eher, dass jeder von jedem lernt! Du scheinst dich aber arroganter­weise für so xl-/vb-wissend zu halten, dass du nichts mehr lernen musst… :->
Hätte Dominique nicht geschrieben, dass sie wieder etwas gelernt hätte, hätte ich hier wohl auch nicht diese Alternative angebo­ten. Sie sollte aber, wenn schon, auch eine (bessere) Alternative kennen- und Richtiges lernen, meinst du nicht auch…
Luc :-?
Anzeige
AW: Damit hast du, zumindest bei mir, ...
19.02.2017 18:52:10
onur
Hi Luc,
zur Info:
Viele Leute haben VBA so eingestellt, dass Variablen deklariert werden müssen.
Das heisst, wenn ich was poste ohne deklarationen, hat der user evtl. Probleme, da fehlermeldungen kommen.
Also muss ich auch deklarieren und wenn ich dim a schreibe, ist es das gleiche wie dim a as variant, nur kürzer.
Und du solltest/müsstest eigentlich wissen, dass sich variantvariablen automatisch anpassen, d.h. wenn ich a=activeworkbook tippe, ist es das gleiche, wie wenn ich zuvor dim a as worksheet getippt hätte, nur kürzer, da wird nie ein fehler kommen.
Gruß
Onur
Anzeige
AW: Foren sind publik :-)
19.02.2017 19:11:56
Gerd
Moin
.... etwas Spaltenspezifisches im Sinne der Fragestellerin habe ich nicht gesehen,
aber gesplittete Variablen-Mathemaktik. :-)
Frohes Schaffen
Gerd
AW: Foren sind publik :-)
19.02.2017 19:28:14
onur
Hi Gerd L,
Sorry, ich kann mich immer noch nicht daran gewöhnen, dass selbst hier getrollt wird.
Gruß
Onur
Ach, nur darum geht's dir, ...
20.02.2017 02:01:59
Luc:-?
…onur,
kein SyntaxFehler, nicht aber sauberes Deklarieren! Ich benutze Variant nur, wenn's wirklich erforderlich ist, und das ist ziemlich häufig, aber eben nicht bei so simple-eindeutigen Variablen, nur um Schreib­arbeit zu sparen. So lernt Dominique auch nie, den VBE-Intellisense zu nutzen…
Luc :-?
PS: Wen meinst du mit „Trolle“? Die sind hier nämlich in der Tat recht selten!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige