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

vba verketten/ resize mit " / " ohne Datum

vba verketten/ resize mit " / " ohne Datum
22.08.2015 13:12:56
willoserus
Hallo zusammen,
vor kurzem hat man mir hier geholfen das u.a. Makro zum laufen zu bringen. Danke nochmal. Allerdings möchte ich in der Zeile
Call VerkettenMitFormat(Zelle, Zelle.Offset(0, 2).Resize(1, 8), " / ")
mit dem " / " verketten. Problem: Verkettet werden Zahlenwerte von 0 bis 20. Stehen nur zwei Zahlenwerte (z.b. 11 / 11) ergibt das im Ergebnis ein unerwünschtes Datum von 11. Nov. Es soll aber 11 / 11 bleiben.
Ich hatte auch versucht das Format der Ziel-Zellen vorab als Text zu formatieren, was aber nichts gebracht hat.
Kann man das evtl. in das Makro implementieren?
Für Hilfe wäre ich dankbar....
VG
willoserus
Sub test()
Dim Zelle As Range
Dim zeilen As Long
zeilen = Cells(Rows.Count, 10).End(xlUp).Row ' das ist Spalte J
For Each Zelle In Range("H6:H" & zeilen)
Call VerkettenMitFormat(Zelle, Zelle.Offset(0, 2).Resize(1, 8), " / ")
Next
End Sub
Sub VerkettenMitFormat(Ziel As Range, Quelle As Range, Optional TrKZ As String = "")
' die verketteten Zahlen werden im originalformat angegeben
Dim Zelle As Range
Dim txt As String
Dim Pos1 As Long
Dim LängeTRKZ As Long
Dim Länge As Long
LängeTRKZ = Len(TrKZ)
For Each Zelle In Quelle
If Zelle.Text  "" Then
txt = txt & TrKZ & Zelle.Text
End If
Next
Ziel.Value = Mid(txt, LängeTRKZ + 1)
Pos1 = 1
For Each Zelle In Quelle
If Zelle.Text  "" Then
With Ziel.Characters(Start:=Pos1, Length:=Len(Zelle.Text))
.Font.Name = Zelle.Font.Name
.Font.Size = Zelle.Font.Size
.Font.FontStyle = Zelle.Font.FontStyle
.Font.Italic = Zelle.Font.Italic
.Font.Color = Zelle.Font.Color
.Font.Strikethrough = Zelle.Font.Strikethrough
.Font.Subscript = Zelle.Font.Subscript
.Font.Superscript = Zelle.Font.Superscript
.Font.Underline = Zelle.Font.Underline
End With
Pos1 = Pos1 + Len(Zelle.Text) + LängeTRKZ
End If
Next
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba verketten/ resize mit " / " ohne Datum
22.08.2015 13:32:32
Daniel
Hi
stelle dem Text, den du in die Zelle einfügst, das Texterkennungszeichen ' (Hochkomma) voran.
damit teilst du Excel mit, dass es den einfgefügten Text immer wie normalen einfachen Text behandeln soll und nicht versuchen soll, den einfgefügten Text in eine Zahl, ein Datum oder eine Formel zu wandeln falls dies möglich sein sollte.
du also deinen Code wie folgt erweiteren:
Ziel.Value = "'" & Mid(txt, LängeTRKZ + 1)
Gruss Daniel

AW: vba verketten/ resize mit " / " ohne Datum
22.08.2015 13:55:56
willoserus
Danke Daniel,
aber bekomme ich das "'" final auch wieder raus, ohne die Formatierung zu verlieren?
einige Zahlen sind in fett und kursiv und müssen es auch bleiben.
Vielleicht könnte man das in die
With Ziel.Characters(Start:=Pos1, Length:=Len(Zelle.Text))
Abrage mit einbauen.
Könntest du mir da helfen?
Danke und Gruss

Anzeige
AW: vba verketten/ resize mit " / " ohne Datum
22.08.2015 14:25:34
Daniel
HI
warum willst du das ' raus machen?
dann wird dein Zellwert ja wieder in ein Datum gewandelt.
das ' ist nicht Bestandteil des Zellwertes, wenn du diesen abfragst, von daher kann das drinbleiben
Gruss Daniel

AW: vba verketten/ resize mit " / " ohne Datum
22.08.2015 17:22:02
willoserus
Läuft! Prima und danke an Daniel!
VG
willoserus

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige