Text in Zahlen

Bild

Betrifft: Text in Zahlen von: Frank P.
Geschrieben am: 17.03.2005 20:52:52

Guten Abend Excelgemeinde,

ich habe in der Recherche eine Hilfe zu meinem Problem gefunden welche manuell sehr gut funktioniert aber beim automatisieren mächtig hapert.

Ich habe ein Arbeitsblatt welches mir nach dem Transponieren die Werte als Text ausgibt. Nun habe ich gefunden, wenn ich in eine x beliebige Zelle eine 1 eingebe - auf kopieren gehe - den gesamten Bereich welcher die Textfelder enthält markiere und über Inhalte Einfügen und multipliziere die Aktion abschließe sind alle Zellen als Zahlen formatiert. Über den Makrorecorder passiert da gar nichts.
Kann mir jemand bei VBA unter die Arme helfen?

Danke und Gruß Frank



Range("IV1").Select
ActiveCell.FormulaR1C1 = "1"
Selection.Copy

Range("D2:HK54").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False

Range("IV1").Select
Application.CutCopyMode = False
Selection.ClearContents

Bild


Betrifft: AW: Text in Zahlen von: Frank P.
Geschrieben am: 17.03.2005 21:35:33

Hallo,

man bildet sich ja Dank dieses Forums, welches mir diese Woche schon gigantisch geholfen hat, immer weiter und langsam kommen die ersten eigenen VBA Ideen.
Bezugnehmend auf meine Frage -- kann ich nicht Excel mit untemstehendem Code dazubringen, all meine Textformatierten Zellen als Zahlenformatzellen umzuwandeln??

If .Range(.Cells(3, i), .Cells(.Cells(65536, i).End(xlUp).Row, i)) = Format(Right(Cells(1, 1), 4), "#,##")
ziel = twks.name ------ das Ziel wird im Makro 2 Etagen höher festgelegt ;-)
End if

es kommt keine Fehlermeldung - funktionieren tuts aber auch nicht

Gruß Frank


Bild


Betrifft: Das geht auch nicht per VBA... von: Boris
Geschrieben am: 17.03.2005 21:54:37

Hi Frank,

...da hast du Recht. Es sind an dieser Stelle doch wieder 2 Welten - Excel und VBA.
Versuche einfach folgendes:

Bereich markieren und folgenden Code starten:


Sub mach_zahl()
Selection.Value = Selection.Value
End Sub


Grüße Boris


Bild


Betrifft: AW: Das geht auch nicht per VBA... von: K.Rola
Geschrieben am: 17.03.2005 22:07:07

Hallo,
so sollte es gehen:
Sub Text_in_Zahl()
Selection.Replace What:=".", Replacement:=""
Selection.Replace What:=",", Replacement:="."
Cells(Rows.Count, Columns.Count).Copy
Selection.PasteSpecial Paste:=-4104, Operation:=2
End Sub


Gruß K.Rola

Der Fleiß ist die Wurzel aller Häßlichkeit.

Oscar Wilde




Bild


Betrifft: Werde ich jetzt noch hässlicher... von: Boris
Geschrieben am: 17.03.2005 22:09:38

Hi Liebes,

...wenn ich jetzt fleißig versuche, mir diese Komma und Punktgeschichten auf immer zu merken?

Grüße Boris


Bild


Betrifft: AW: Werde ich jetzt noch hässlicher... von: K.Rola
Geschrieben am: 17.03.2005 22:21:10

Hi,

häßlich kannst du gar nicht sein, nichtmal mit {}.
Hast du meine mail von gestern erhalten?

Gruß K.Rola


Bild


Betrifft: Ich sag´s ja ungern... von: Boris
Geschrieben am: 17.03.2005 22:22:59

Hi K.Rola,

...aber es werden irgendwelche ActiveX-komponenten angemeckert - ich hab´s dir auch bereits per Mail geschickt...

Grüße Boris


Bild


Betrifft: OFTOPIC OFFTOPIC von: Boris
Geschrieben am: 17.03.2005 22:38:58

Hi K.Rola,

...du hattest Peter gestern Abend nen Hinweis zu "Right" gegeben (VBA.String.Right - eben mit Bib und Klasse).

Hast du denn auch noch ne Ahnung, warum das einmal funktioniert und einmal nicht? Und nicht generell versagt / funktioniert?
https://www.herber.de/forum/messages/586967.html

Grüße Boris


Bild


Betrifft: AW: OFTOPIC OFFTOPIC von: K.Rola
Geschrieben am: 17.03.2005 23:17:38

Hi,

das ist ein weites Feld. Das passiert meist nur in Mappen, in denen ewig am VBA-Projekt
rumgewerkelt wurde.
Intern werden ja alle möglichen Informationen protokolliert, so auch Variablendeklarationen, Controlnamen, VB-Componentennamen usw.. Wenn da z.B. irgendwann
mal eine Variable ausversehen Right war, weigert sich Excel standhaft, Right anzuerkennen.
Dann gehts z.B. nur noch mit VBA.Strings.Right(...), manchmal reicht auch VBA.Right(...).
Also beim Entwerfen immer schön aufpassen.
Wenn es ein ernsthaftes Projekt ist, sollte man schon ein wenig Aufwand betreiben.
Ich hatte mal für Kursteilnehmer einen kleinen Leitfaden für die Entwicklung erstellt.
Wenn ich ihn noch finde und du interessiert bist, maile ich ihn dir mal zu.

Gruß K.Rola


Bild


Betrifft: OT leitfaden von: Reinhard
Geschrieben am: 17.03.2005 23:23:16

Hallo K.Rola,
wenn du mir ihn auch zuschicken könntest?
Ich stehe in der Profilliste, dankeschön für die Mühe.
Viele Grüße
Reinhard


Bild


Betrifft: AW: OT leitfaden von: Heinz Ulm
Geschrieben am: 17.03.2005 23:30:05

Hallo K.Rola,

man kann nie genug über VBA wisse, ich hätte auch Interesse an dem Leitfaden.

Heinzulm"at"gmx.de "at"=@
Vielen Dank im voraus.

Heinz


Bild


Betrifft: AW: OFTOPIC OFFTOPIC von: Boris
Geschrieben am: 18.03.2005 08:56:12

Hi K.Rola,

danke für die Erläuterung, und: Klar - schick rüber.

Grüße Boris


Bild


Betrifft: AW: OFTOPIC OFFTOPIC von: K.Rola
Geschrieben am: 18.03.2005 11:25:38

Hi Boris,

habs jetzt nicht gefunden, muss mal am Montag in der Firma nachschauen.

Gruß K.Rola


Bild


Betrifft: AW: OFTOPIC OFFTOPIC von: Nepumuk
Geschrieben am: 17.03.2005 23:20:08

Hallo Boris,

ich würde mal sagen, da sind zu viele Default's drin.

Korrekt müsste die Anweisung:

.Cells(lgRow, 4) = Right(cboArtGef, Len(cboArtGef) - InStr(cboArtGef, " "))

So ausehen:

.Cells(lgRow, 4).Value = Right$(cboArtGef.Text, Len(cboArtGef.Text) - InStr(cboArtGef.Text, " "))

Gruß
Nepumuk


Bild


Betrifft: AW: OFTOPIC OFFTOPIC von: PeterW
Geschrieben am: 17.03.2005 23:36:40

Hallo Nepumuk,

ich bin nun mal schreibfaul. Was haben die Default für einen Sinn, wenn man sie doch angeben muss?

Würde das auch erklären, warum die Zeile auf dem Rechner, auf dem der Code geschrieben wurde (Excel 8, Win2000) klaglos akzeptiert wird und auf einem anderen Rechner (Excel 8, Win98SE) nicht?

Gruß
Peter


Bild


Betrifft: Es funktioniert jetzt einwandfrei... von: Boris
Geschrieben am: 17.03.2005 23:17:21

Hi K.Rola,

...werde mich aber erst morgen mal etwas genauer damit beschäftigen - muss früh raus und werde daher jetzt Heja machen.

Gute Nacht!

Grüße Boris


Bild


Betrifft: AW: Werde ich jetzt noch hässlicher... von: Frank P.
Geschrieben am: 18.03.2005 15:49:57

hallo zusammen,

steh unmittelbar vor einem kollaps, egal was ich ausprobiere!!!! Es muß doch irgendwie gehen, dass das Datenblatt von Spalte B und Zeile 3 bis sonstwo nach rechts und unten meine textdaten in numerísche umwandelt.
kann jemand mein Wochenende retten - das ist der letzte Punkt, der in meiner Tabelle nicht funktioniert

Gruß Frank



'For a = 2 To .Range("IV2").End(xlToLeft).Column

' If .Range(.Cells(3, a), .Cells(.Cells(65536, a).End(xlUp).Row, i)).Select Then
' Selection.Replace What:=".", Replacement:=""
'Selection.Replace What:=",", Replacement:="."
'Cells(Rows.Count, Columns.Count).Copy
'Selection.PasteSpecial Paste:=-4104, Operation:=2

'End If
'Next a


Bild


Betrifft: AW: Das geht auch nicht per VBA... von: Frank P.
Geschrieben am: 18.03.2005 13:45:54

Hallo Excelgemeinde,

ein neuer tag hat begonnen und .....!!!???
Erstmal Dank für Euer Interesse an meiner Frage - sehe im Moment nicht so recht durch!! ;-)
Irgendwie funktioniert das hier nicht so recht.
Ich habe alles ausprobiert - bin ja erst gerade auf dem Weg mich vom Macrorecorder zu lösen.

Habe ein Datenblatt und möchte eigentlich nur (ich weiß "nur" bei excel kann was ganz anderes bedeuten) in einem Datenblatt die zellen ab B3 bis nach rechts ist dynamisch denkemal bis IV wäre möglich von Text in Zahl umwandeln. Was heißt denn eigentlich in dem Forum Oftopic -- wechsel von der eigentlichen Fragestellung??

Gruß Frank P.


Bild


Betrifft: AW: Das geht auch nicht per VBA... von: K.Rola
Geschrieben am: 18.03.2005 15:47:41

Hallo,

eh wir hier lange Rätselraten, wo es klemmen könnte, lad mal ein Beispiel hoch.

Gruß K.Rola


Bild


Betrifft: AW: Das geht auch nicht per VBA... von: Frank P.
Geschrieben am: 18.03.2005 16:35:55

hallo karola

habe mal meine Datei hochgeladen.
kurze Erklärung - ich habe eine Datei mit einem Arbeitsblatt welches nach meiner Automatisierung "text in Spalten" alle Werte nach Semikolon getrennt in die jeweiligen Felder schreibt (aber als text formatiert). Dieses Datenblatt wird in die Datei Frank_1.xls übernommen und soll von dort aus weiterverarbeitet werden. Ich möchte lediglich, dass alle Felder mit dem grünen Dreieck(Hinweis auf ein Textfeld) als Zahl formatiert werden, bevor der nächste Arbeitsschritt ein Transponieren nach Tabelle1 vorsieht. Habe das Makro mal zwischen drin angehalten.

https://www.herber.de/bbs/user/19843.xls


Gruß Frank


Bild


Betrifft: AW: Das geht auch nicht per VBA... von: Boris
Geschrieben am: 18.03.2005 17:28:02

Hi Frank,

eine mögliche Lösung hatte ich dir doch schon geschrieben:

Bereich markieren, und dann folgende Codezeile laufen lassen:


Sub Test()
Selection.Value = Selection.Value
End Sub


Und schon ist alles Zahl...

Grüße Boris


Bild


Betrifft: AW: Das geht auch nicht per VBA... von: Frank P.
Geschrieben am: 18.03.2005 18:27:56

Hallo Boris,

das funktioniert ja bestens - super, ich habe aber Probleme dies automatisch ablaufen zu lassen, da ich bis jetzt mich immer auf den macrorecorder verlassen habe.
Wenn ich den bereich manuell markiere gehe ich sofort auf das angezeigte Ausrufezeichen neben den Zellen und klicke Wert als Zahl darstellen und fertig.

Gruß Frank P.


Bild


Betrifft: AW: Das geht auch nicht per VBA... von: Frank P.
Geschrieben am: 18.03.2005 18:55:29

Habs hinbekommen

mit
Columns("C:F").Select
'Selection.Replace What:=".", Replacement:=""
Selection.Replace What:=",", Replacement:="."
'Cells(Rows.Count, Columns.Count).Copy
'Selection.PasteSpecial Paste:=-4104, Operation:=2

sorry, bin gerade beim lernen mit VBA umzugehen

der thread kann endlich geschlossen werden

Vielen Dank an alle

Frank P.


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Text in Zahlen"