Scheinbar leicht: normale Summe in Excel

Grüezi Marion

Ja, so ist das bei Textformaten nun mal - Excel zeigt sich
störrisch wenn es ans Umformatieren geht.

[Text-in-Spalten Verfahren gesnippt]

stimmt, klappt auch bei mir

dan muß man erst mal drauf kommen

‚Eigentlich‘ ist es ganz einfach :smile:

Das Phänomen tritt meist dann auf wenn Daten aus anderen Anwendungen z.b. mit Copy/Paste nach Excel gebracht werden,
Für Excel sind das nur Bits und Bytes - dass man mit einigen dieser ‚Zeichen‘ auch rechnen kann wissen nur wir ‚Intelligenz-Begabten‘.
Also schreibt Excel das Ganze mal als String in die Zellen (…bei Daten mit führenden Nullen für Serien-Nummern und ähnliches sind wir da ja auch froh drüber…).
Ein reines Umformatieren hilft da dann leider nicht mehr - Excel muss gezwungen werden, den Wert erneut in die zuvor als ‚Standard‘, ‚Zahl‘ oder ‚Datum‘ formatierten Zellen zu schreiben. F2 + Return ist da ausreichend, für eine grosse Datenmenge aber nicht praktikabel.

Daher dann die Text-in-Spalten Variante - hier schreibt Excel die Daten ebenfalls neu in die umformatierten Zellen.

ich danke dir für den Tip

Aber gerne doch

und LG zurück
Thomas

schreiben. F2 + Return ist da ausreichend, für eine grosse
Datenmenge aber nicht praktikabel.

Grüezi Thomas,

weil du grad dieses Beispiel bringst,
schau mal diesen Code an:

Sub F2ImBereic()
Dim Zelle as Object
For each zelle in Selection
sendkeys „[F2]“, true
sendkeys "[Enter], true
next zelle
End sub

Ist er nicht chic, man sieht gleich ein wahrer Vba-Könner hat den gebastelt.

Da ich das ja manuell getippselt habe und das „h“ bei Bereich weggelassen habe ist das natürlich niemals nicht aus einem Buch von B.H.
Nur vorsorglich falls ich ein Schreiben vom Anwalt von B.H. erhalte.

B.H. ist übrigens auch MVP und auch Buchautor vieler Vba-Bücher. In dem bewußten Forum, damals wußte ich noch viel weniger von Vba als heute und heute weiß ich exakt daß ich kaum was weiß, wenn ich andere Codes sehe :smile:
Jedenfalls habe ich da staunend mitgelesen und logischerweise mangels Wissen gar nicht kapiert über welche Feinheiten in den Codes von B.H. sich da die Profis entrüsteten.

Jetzt, Jahre später, weiß ich es und verstehe daß so Codes wie oben schlichtweg Schrott sind.

Die eine Beitragsfolge die sich damals entwickelte war irre lang da auch B.H. im Forum erschien.
Da gings dann zum Schluß wirklich sehr hart zur Sache, Anwaltsdrohungen , Unterlassungsklagen u.v.m. kamen da auf den Tisch.

Wobei m.E. der eine Vorwurf, er würde nur aus der F1 abschreiben und dies in Bücher packen noch harmlos war.

Schlimmer, und hat wohl die Emotionen hochgeschaukelt waren völlig klare Vorwürfe, mit Codebeispielen belegt, daß das was er schreibt stellenweise Unfug ist und er seinen Lesern die was lernen wollen gleich das Falsche beibringt.

Gut, damals wie gesagt, konnte ich das alles nicht nachvollziehen, leider, in den wenigen Punkten wo ich durchblickte um was genau im Code es ging, da hatten diejenigen die den Code für mistig halten schlichtweg Recht.

Leider deshalb, weil ich grundsätzlich wenn viele auf nur einem rumhacken ich intuitiv mich erst mal neben ihn stelle um ihn zu unterstützen, da ich alle gegen einen absolut nicht mag.

Heutzutage würde ich in diesem einen Fall mitrumhacken *weiß*

Ich habe einige Jahre gebraucht um jetzt eine MsgBox mit „Hello World“ problemlos auf dem Bildschirm erscheinen lassen zu können, andere, ich will ja keine Namen nennen *gg*, verdienen sich Knete mit Buchtiteln wie „Excel-Vba in 21 Tagen“, welch aberwitziger Titel, wenn ich, da ich von Access keine Ahnung habe, ich mir das dünnste Buch mit dem Titel „Access für Dummies“ zulege, so brauche ich weit mehr als 21 Tage um auch nur annähernd alles zu erahnen was die da im Buch mir sagen wollen.

Solange es noch keinen USB-Slot im Kopf gibt wo man einen Wissens-Stick einstecken kann ist Essig mit irgendwas Komplexes zu lernen in 21 Tagen…

Gruß
Reinhard

Hallo Reinhard

schreiben. F2 + Return ist da ausreichend, für eine grosse
Datenmenge aber nicht praktikabel.

weil du grad dieses Beispiel bringst,
schau mal diesen Code an:

Sub F2ImBereic()
Dim Zelle as Object
For each zelle in Selection
sendkeys „[F2]“, true
sendkeys "[Enter], true
next zelle
End sub

Ist er nicht chic, man sieht gleich ein wahrer Vba-Könner hat
den gebastelt.

Ach sieh an - der ist mir heute auch schon übern Weg gelaufen und ich konnte mir einen Kommentar nicht verkneifen:

http://groups.google.com/group/microsoft.public.de.e…

Da ich das ja manuell getippselt habe und das „h“ bei Bereich
weggelassen habe ist das natürlich niemals nicht aus einem
Buch von B.H.
Nur vorsorglich falls ich ein Schreiben vom Anwalt von B.H.
erhalte.

Ja, das dürfte Sinn machen aufgrund der (mir bekannten) unten geschilderten Sachlage.

B.H. ist übrigens auch MVP

Er war - das ist Vergangenheit.

Ich habe einige Jahre gebraucht um jetzt eine MsgBox mit
„Hello World“ problemlos auf dem Bildschirm erscheinen lassen
zu können,

…ach, das geht? *verwundert schau* :wink:

Solange es noch keinen USB-Slot im Kopf gibt wo man einen
Wissens-Stick einstecken kann ist Essig mit irgendwas
Komplexes zu lernen in 21 Tagen…

Hmmm, das wäre ja mal eine andenkenswerte Richtung - einfach alles reinschütten und gut ist…

Aber ich bin der Auffassung, dass Erfahrung die Summe gemachter Fehler ist - so gesehen muss ich vieeeel Erfahrung haben…


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüzi Thomas,

Ist er nicht chic, man sieht gleich ein wahrer Vba-Könner hat
den gebastelt.

Ach sieh an - der ist mir heute auch schon übern Weg gelaufen
und ich konnte mir einen Kommentar nicht verkneifen:

tja nun, es sind viele Bücher verkauft worden…

Nur vorsorglich falls ich ein Schreiben vom Anwalt von B.H.
erhalte.

Ja, das dürfte Sinn machen aufgrund der (mir bekannten) unten
geschilderten Sachlage.

Also das sehe ich absolut gelassen, ich zwar persönlich nicht, aber ich kenne (kenne= wie man sich halt im Laufe der Zeit so kennt wenn man sich gegenseitig oft im Forum liest) locker 50 Personen, die teilweise auch sehr hocherfreut zu einer Gerichtsverhandlung kämen um den Richter Code für Code zu beweisen daß das was ich hier in den Raum stelle sehr wohl sehr begründet ist, auch wenn mir selbst die hinreichenden Kenntnisse fehlen um das selbst zu beweisen.

Zur Not komme ich mit Max und Boris in eine Sammelzelle, macht nix, kann ich Vba-mäßig nur von profitieren :smile:)
Und zur Not spielen wir einfach nur Skat oder Doppelkopf, da sind sie mir garantiert nicht so gewaltig überlegen, upps, da brauchen wir ja 4 Leute, aber da habe ich schon eine Idee wer das sein könnte *lach*

B.H. ist übrigens auch MVP

Er war - das ist Vergangenheit.

Schau an, mir neu, aber in Fachkreisen wird man das sicher schon mit Genugtun erfahren haben, die Exce-Vba-Welt ist in D. sehr klein, das mußten schon viele Crosspostler erleben die sich Anschiße eingefangen haben. Ein andrer Nick nützt denen rein gar nichts denn die Aufgabenstellung bleibt ja gleich.
Und sicher, Crossposting kann jedem Unkundigen passieren und wenn es aus Unkenntnis geschieht überhaupt nicht schlimm, ist halt so, aber da kommt es dann darauf an wie er/sie sich verhält wenn er darauf angesprochen wird.
Wenn er/sie in einem Forum pampig wird, hat er gelitten, dann kriegt er /sie in allen anderen Foren auch keine Antwort mehr, wenn dann nur durch Zufall.

Übrigens ist das Forum von Peter das einzige daß ich kenne wo ausdrücklich auf der Startseite steht das dort Crosspostings keinerlei Problem darstellen.

Ich habe einige Jahre gebraucht um jetzt eine MsgBox mit
„Hello World“ problemlos auf dem Bildschirm erscheinen lassen
zu können,

…ach, das geht? *verwundert schau* :wink:

Ja, das geht, ist zwar kompliziert aber grad so ohne API-Funktionen machbar.

Übrigens, im VB-Editor, das Objektkatalog-Fenster, das Direktfenster und das Lokalfenster und was es da alles noch gibt, da kenne ich mich absolut nicht aus und weiß gar nicht alle Möglichkeiten die damit verbunden sind zu nutzen.

Erst vor 2 Tagen erfuhr ich durch Zufall wie genial z.B. das Lokalfenster ist, was ich ansonsten noch nie so richtig nutzte.
Dies führte dann zur folgenden Antwort die ich demjenigen schrieb der mir den Klasse Tipp gab.

Anstatt banal wie vorher Applcation.Activeprinter oder sowas einfaches zu benutzen kann man das auch so tun:
***********************************************************
Hallo Rudi,
wow, das ist ja genial *freu*
Sub Test()
Dim S As Shape
For Each S In ActiveSheet.Shapes
MsgBox S.BottomRightCell.Application.ActivePrinter
Next S
End Sub
ist zwar ein Umweg aber macht den Code für Andere sehr sehr schön unleserlich, quasi auch eine kleine Art des Codeschutzes, und wenn man Auftragsprogrammierer ist kann der Kunde nicht meckern, er kriegt einen schönen „breiten“ Code für sein Geld *lächel*
**************************************************************

Wäre ich über so einen Code gestolpert, wäre ich erstens überrascht gewesen daß es überhaupt BottomRightCell gibt, kannte bis dato nur Topleftcell, und wenn mir keiner gesagt hätte daß der Code so ist wie er sit nur zum Zwecke der Verwirrung, ich hätte stundenlang über den Code gegrübelt, warum, wieso…

Aber ich bin der Auffassung, dass Erfahrung die Summe
gemachter Fehler ist - so gesehen muss ich vieeeel Erfahrung
haben…

Ich bin am Aufholen :smile:

Gruß
Reinhard

Hallo Tomas,

Das Phänomen tritt meist dann auf wenn Daten aus anderen
Anwendungen z.b. mit Copy/Paste nach Excel gebracht werden,

stimmt, ich hatte damit oft zutun, wenn Daten aus SAP in Excel importiert wurden

Für Excel sind das nur Bits und Bytes - dass man mit einigen
dieser ‚Zeichen‘ auch rechnen kann wissen nur wir
‚Intelligenz-Begabten‘.

ja, und Daten in DB sind normalerweise immer strings außer man deklariert extra andere Formate

Also schreibt Excel das Ganze mal als String in die Zellen
(…bei Daten mit führenden Nullen für Serien-Nummern und
ähnliches sind wir da ja auch froh drüber…).

Richtig

Ein reines Umformatieren hilft da dann leider nicht mehr -
Excel muss gezwungen werden, den Wert erneut in die zuvor als
‚Standard‘, ‚Zahl‘ oder ‚Datum‘ formatierten Zellen zu
schreiben. F2 + Return ist da ausreichend, für eine grosse
Datenmenge aber nicht praktikabel.

Daher dann die Text-in-Spalten Variante - hier schreibt Excel
die Daten ebenfalls neu in die umformatierten Zellen.

eine sehr praktikable Lösung

hab schon so manches mal gemerkt, du hast echt was drauf :smile:
und man lernt zum Glück nie aus :smile:

Liebe Grüße
Marion

Grüezi Marion

Daher dann die Text-in-Spalten Variante - hier schreibt Excel
die Daten ebenfalls neu in die umformatierten Zellen.

eine sehr praktikable Lösung

hab schon so manches mal gemerkt, du hast echt was drauf :smile:

Danke, danke - ich werd ja schon fast rot ob so viel Lob