Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
584to588
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
584to588
584to588
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Text in Zahlen

Text in Zahlen
17.03.2005 20:52:52
Frank P.
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

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Zahlen
17.03.2005 21:35:33
Frank P.
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
Anzeige
Das geht auch nicht per VBA...
17.03.2005 21:54:37
Boris
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
AW: Das geht auch nicht per VBA...
17.03.2005 22:07:07
K.Rola
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


Anzeige
Werde ich jetzt noch hässlicher...
17.03.2005 22:09:38
Boris
Hi Liebes,
...wenn ich jetzt fleißig versuche, mir diese Komma und Punktgeschichten auf immer zu merken?
Grüße Boris
AW: Werde ich jetzt noch hässlicher...
17.03.2005 22:21:10
K.Rola
Hi,
häßlich kannst du gar nicht sein, nichtmal mit {}.
Hast du meine mail von gestern erhalten?
Gruß K.Rola
Ich sag´s ja ungern...
17.03.2005 22:22:59
Boris
Hi K.Rola,
...aber es werden irgendwelche ActiveX-komponenten angemeckert - ich hab´s dir auch bereits per Mail geschickt...
Grüße Boris
OFTOPIC OFFTOPIC
17.03.2005 22:38:58
Boris
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
Anzeige
AW: OFTOPIC OFFTOPIC
17.03.2005 23:17:38
K.Rola
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
Anzeige
OT leitfaden
17.03.2005 23:23:16
Reinhard
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
AW: OT leitfaden
17.03.2005 23:30:05
Heinz Ulm
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
AW: OFTOPIC OFFTOPIC
18.03.2005 08:56:12
Boris
Hi K.Rola,
danke für die Erläuterung, und: Klar - schick rüber.
Grüße Boris
AW: OFTOPIC OFFTOPIC
18.03.2005 11:25:38
K.Rola
Hi Boris,
habs jetzt nicht gefunden, muss mal am Montag in der Firma nachschauen.
Gruß K.Rola
AW: OFTOPIC OFFTOPIC
17.03.2005 23:20:08
Nepumuk
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
Anzeige
AW: OFTOPIC OFFTOPIC
17.03.2005 23:36:40
PeterW
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
Es funktioniert jetzt einwandfrei...
17.03.2005 23:17:21
Boris
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
AW: Werde ich jetzt noch hässlicher...
18.03.2005 15:49:57
Frank P.
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
Anzeige
AW: Das geht auch nicht per VBA...
18.03.2005 13:45:54
Frank P.
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.
Anzeige
AW: Das geht auch nicht per VBA...
18.03.2005 15:47:41
K.Rola
Hallo,
eh wir hier lange Rätselraten, wo es klemmen könnte, lad mal ein Beispiel hoch.
Gruß K.Rola
AW: Das geht auch nicht per VBA...
18.03.2005 16:35:55
Frank P.
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
Anzeige
AW: Das geht auch nicht per VBA...
18.03.2005 17:28:02
Boris
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
AW: Das geht auch nicht per VBA...
18.03.2005 18:27:56
Frank P.
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.
Anzeige
AW: Das geht auch nicht per VBA...
18.03.2005 18:55:29
Frank P.
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.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige