Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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

Hilfe: Zelleninhalt abschneiden

Hilfe: Zelleninhalt abschneiden
HansP
Hallo!
Ich habe ein Problem mit dem abschneiden vom Zelleninhalt.
Problem:
In Zelle D5 steht der Wert 123456789 / 123456
Den Wert muss ich auf 2 Zellen aufteilen. In H6 soll stehen "123456789" und in H7 "23456". Mein _
Ansatz bisher schlägt allerdings fehl, und in die Zellen wird nichts eingetragen.

ActiveSheet.Range("H8").Select = Left(D5, Len(D5) - 9)
ActiveSheet.Range("H9").Select = Right(D5, Len(D5) - 13)

Was mache ich falsch?
AW: Hilfe: Zelleninhalt abschneiden
13.08.2009 14:27:54
Wolli
so:
ActiveSheet.Range("H8") = Left(ActiveSheet.Range("D5"), Len(ActiveSheet.Range("D5")) - 9)
Gruß, Wolli
AW: Hilfe: Zelleninhalt abschneiden
13.08.2009 14:28:27
Rudi
Hallo,
was soll das .Select?
Range("H8")=split(Range(D5, "/")(0)
Range("H9")=split(Range(D5, "/")(1)
Gruß
Rudi
AW: Hilfe: Zelleninhalt abschneiden
13.08.2009 16:33:19
Wolli
Ei, die Split-Funktion war mir tatsächlich neu. Danke, Rudi!
Gruß, Wolli
AW: Hilfe: Zelleninhalt abschneiden
13.08.2009 14:32:40
OliverP
Hallo Hans,
1. ActiveSheet.Range("H8").Value = Left(D5, Len(D5) - 9)
Dies wäre aber so fix, d.h. wenn sich die Länge der ersten Zahlenkolonne sich ändert würde dieses nichts bringen.
Daher folgendender Ansatz
Sub test()
myarray = Split(Range("D5"), "/")
Range("H8").Value = myarray(0)
Range("H9").Value = myarray(1)
End Sub
Gruss Oliver
Anzeige
AW: Hilfe: Zelleninhalt abschneiden
13.08.2009 17:04:32
HansP
Danke! Der Tipp von Wolli hat auf Anhieb funktioniert. Nun quäle ich mich damit rum, eine führende Null in VBA zu übergeben...
Ich mache

ActiveSheet.Range("H9") = Right(ActiveSheet.Range("D5"), Len(ActiveSheet.Range("D5")) - 12)
Dateiname2 = ActiveSheet.Range("H9")

Wenn ich nun in H9 zb. "02000" stehen haben müsste, erhalte ich dort nur "2000". Die Zelle _ vorher oder nachher mit

Selection.NumberFormat = "00000"
zu formatieren bringt nichts. Habe auch schon Selection.NumberFormat = "\00000" und Selection.NumberFormat = "@" durch. Ich kriege den Wert einfach nicht 5stellig rüber, wenn ich eine führende Null habe.
Anzeige
AW: Hilfe: Zelleninhalt abschneiden
13.08.2009 17:39:31
OliverP
Hallo Hans,
Selection.NumberFormat kann nur die Zelle formatieren, welches auch markiert ist. Der Ansatz war also richtig, nur wird er die vorher marktierte Zelle formatieren und nicht die Zelle H0
D.h. du musst die Zelle angeben.
ActiveSheet.Range("H9").NumberFormat = "00000"
Gruss
Oliver
AW: Hilfe: Zelleninhalt abschneiden
13.08.2009 17:59:30
HansP
Hallo Oliver,
die Selection führe ich schon aus, aber es passt trotzdem nicht. Nochmal der (erweiterte) Code-Schnipsel

Sheets("Worktmp1").Range("H9").Select
ActiveSheet.Range("H9").NumberFormat = "00000"
ActiveSheet.Range("H9") = Right(ActiveSheet.Range("D5"), Len(ActiveSheet.Range("D5")) - 12)
ActiveSheet.Range("H9").NumberFormat = "00000"
Dateiname2 = ActiveSheet.Range("H9")

Das NumberFormat 2 mal vorkommt, liegt daran, das ich erstmal auf Nummer sicher gehen wollte / will. Hilft aber alles nix das Teil bleibt 4stellig.
Anzeige
AW: Bei mir geht es
13.08.2009 18:11:50
OliverP
Hallo Hans,
bei mir läft es ohne Probleme.
Gruss
Oliver
AW: Eventuell 6 Stellen?
13.08.2009 18:25:02
OliverP
Könnte es sein, dass du statt 6 (im deinem Beispiel 123456789 / 123456 besteht die letzte Zifferfolge aus 6 Stellen) mit 5 Stellen arbeiten willst?
Wenn Du nun eine 123456789 / 020000 mit der Formatierung "00000" nimmst, kann nur 20000 rauskommen.
Gruss
Oliver
AW: Eventuell 6 Stellen?
13.08.2009 18:35:23
HansP
Innerhalb der Zelle steht 02000, aber in der Weiterverarbeitung ist Schluss. Mit

myWord.ActiveDocument.ExportAsFixedFormat OutputFileName:=sPath & "\Rechnung\" & "Re" & Dateiname & "_" & Dateiname2 & "_DE" & ".pdf"
vergebe ich den Namen und exportiere als PDF. Aber anstelle von "Re123456789_02000_DE.pdf" erhalte ich immer "Re123456789_2000_DE.pdf". Egal wie ich die Zelle formatiere - die führende Null / führenden Nullen sind weg.
Anzeige
AW: Eventuell 6 Stellen?
13.08.2009 18:59:06
OliverP
Hallo Hans,
ActiveSheet.Range("H9").Value = Right(ActiveSheet.Range("D5"), Len(ActiveSheet.Range("D5")) - 12)
Range("H9").NumberFormat = "@"
oder
dim test as string
test = Right(ActiveSheet.Range("D5"), Len(ActiveSheet.Range("D5")) - 12)
Dateiname2 = test
Dies gilt nur, wenn aus Right(ActiveSheet.Range("D5"), Len(ActiveSheet.Range("D5")) - 12) der Text "02000" heraus kommt.
Gruss
Oliver
AW: Eventuell 6 Stellen?
13.08.2009 19:13:47
HansP
Ich habs einmal gedreht

AvticeSheet.Range("H9").NumberFormat = "@"
ActiveSheet.Range("H9").Value = Right(ActiveSheet.Range("D5"), Len(ActiveSheet.Range("D5")) -  _
12)

Jetzt passt es. Das "Value" war der entscheidende Parameter.
Danke!
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige