Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Ziffernfolge aus Zeichenobjekt lesen

Forumthread: Ziffernfolge aus Zeichenobjekt lesen

Ziffernfolge aus Zeichenobjekt lesen
23.09.2013 14:53:52
Flo
Hallo Zusammen,
ich habe 2009 eine Programmierung geschrieben welche durch die Weiterentwicklung von MSO letzte Woche erneut auf meinem Schreibtisch landete.
Beitrag von 2009:
www.herber.de/forum/archiv/1088to1092/t1089052.htm#1089052"
Es geht darum 6stellige Nummern aus einem Rechteck bzw. Textfeld zu "ziehen".
Bis einschließlich Office 2003 (Version 10) hat es wie folgt funktioniert:
Sub BestellNr()
' ***** Ermittlung des Rechteck-Namens auf das geklickt wird *****
If TypeName(Application.Caller)  "String" Then Exit Sub
InhaltRechteck = Application.Caller
LaengeInhaltRechteck = Len(InhaltRechteck)
n = Right(InhaltRechteck, LaengeInhaltRechteck - 9)
MsgBox (TypeName(Application.Caller))
MsgBox (InhaltRechteck)
MsgBox (LaengeInhaltRechteck)
MsgBox (n)
Select Case ActiveSheet.Shapes(n).Type
Case 1: ActiveSheet.Shapes("Rectangle " & n).Select
Case 17: ActiveSheet.Shapes("Rectangle " & n).Select
Case Else: MsgBox "Ungültiges Textfeld"
End Select
BestNr = Selection.Characters.Text    'Artikelnummer in Variable "BestNr"  _
ablegen
End Sub
"Nun" haben wir Office 2010 bekommen und diese Routine scheint Probleme zu machen.
Die 4 MsgBox() habe ich zur Kontrolle eingebaut um den Fehler einzugrenzen.
MsgBox 1 = String
MsgBox 2 = Rectangle 43
MsgBox 3 = 12
MsgBox 4 = 43 = Nummer des Zeichenobjektes.
Das Makro scheint sich beteits bei der ersten Case-Zeile (Select Case ActiveSheet.Shapes(n).Type) aufzuhängen.
Gibt es dort eine Office-Version abhängige Anpassung?
Gruß und besten Dank
Flo

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ziffernfolge aus Zeichenobjekt lesen
23.09.2013 15:13:24
Rudi
Hallo,
Sub BestellNr()
Dim BestNr As String
If TypeName(Application.Caller)  "String" Then Exit Sub
With ActiveSheet.Shapes(Application.Caller)
Select Case .Type
Case 1, 17: BestNr = .DrawingObject.Text
Case Else: MsgBox "Ungültiges Textfeld"
End Select
End With
End Sub

Gruß
Rudi

Anzeige
AW: Ziffernfolge aus Zeichenobjekt lesen
23.09.2013 15:27:24
Flo
Hallo Zusammen,
hallo Rudi,
funktioniert...
Egal ob Office XP, 2003 oder 2010.
Perfekt und vielen Dank
Gruß
Flo
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige