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

if Abfrage ändern

if Abfrage ändern
15.08.2014 11:28:28
stef26
Hallo liebe Forumsbesucher,
habe soeben super Hilfe von der Karin bekommen. DANKE (funktioniert nun mit den geänderten shapes super)
Ich habe die Namen meiner Shapes geändert und nun passt eine Abfrage nicht mehr.
Bisher begannen meine Shape Namen mit
EbeneA xxxxxxxxx (xxx steht für beliebiges Material und hat für die Abfrage keinerlei Bedeutung)
Mit der Abfrage der Ebene, die gleich am Anfang stand war es noch sehr leicht
     If Left(shaShape.Name, 6) = "EbeneA" Then
Dadurch, dass ich nun eine Nummerierung am Anfang in Klammern habe muss ich meine Abfrage ändern, weiß aber nicht wie ich das mache.
Aktuell sehen die shapes so in der Art aus:
(2)EbeneA xxxx
(345)EbeneB xxx usw.
D.h. ich habe keine feste Anzahl der Stellen vorne so dass meine If Abfrage irgendwie anders aufgebaut werden muss...
Liebe Grüße
Stefan

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

Betreff
Datum
Anwender
Anzeige
AW: if Abfrage ändern
15.08.2014 11:37:43
Beverly
Hi Stefan,
versuche es einfach mal so:
If Mid(shaShape.Name, InStr(shaShape.Name, ")") + 1, 6) = "EbeneA" Then


AW: if Abfrage ändern
15.08.2014 17:24:57
stef26
100% ins schwarze. Danke nun passen auch meine Abfragen wieder.
Du scheinst dich ja wirklich top auszukennen. Hut ab. Ich hab das leider nie gelernt und versuche
so Schritt für Schritt mich zu verbessern.
Hätte da noch eine unverschämte Frage:
Bei einer bestimmten Bedingung soll zusätzlich der Name
(123)EbebeA xxxxxx
Wenn EbeneA dann auf EbeneB
Wenn EbeneB dann auf EbeneC
ansonsten auf EbeneD geändert werden.
Das mit der Bedingung usw. bekomme ich hin, nur mit dem Finden und ersetzten schaffe ich leider nicht...
Liebe Grüße
Stefan

Anzeige
Shaoes umbenennen
15.08.2014 18:38:40
Beverly
Hi Stefan,
ich weiß nun nicht, wie viele Ebenen es in deinem Projekt geben wird, aber das Aplphabet hat nur 26 Buchstaben. Ich habe den Code deshalb so geschreiben, dass nach Z wieder mit A begonnen wird:
Sub ShapesUmbenennen()
Dim shaShape As Shape
Dim strErsatz As String
Dim bytBuchstabe As Byte
For Each shaShape In ActiveSheet.Shapes
' Name enthält "Ebene"
If InStr(shaShape.Name, "Ebene") > 0 Then
' Buchstabe nach "Ebene" abtrennen
strErsatz = Mid(shaShape.Name, InStr(shaShape.Name, "Ebene") + 5, 1)
' Buchstabe in Ascii-Code umwandeln
bytBuchstabe = Asc(strErsatz)
' Ascii für Großbuchstaben gehen nur bis 90, wenn > dann wieder mit A beginnen
If bytBuchstabe + 1 > 90 Then
bytBuchstabe = 65
' andernfalls Ascii um 1 erhöhen für nächsten Buchstaben im Alphabet
Else
bytBuchstabe = bytBuchstabe + 1
End If
' im Shape-Namen den Buchstaben nach "Ebene" durch neuen ersetzen
shaShape.Name = Application.Substitute(shaShape.Name, Mid(shaShape.Name, _
InStr(shaShape.Name, "Ebene") + 5, 1), Chr(bytBuchstabe))
End If
Next shaShape
End Sub
Ich habe auch ein paar Kommentare hinzugefügt, damit der Ablauf vielleicht leicher nachzuvollziehen ist.
Übrigens: ich habe Programmieren auch nie gelernt, bin nur Autodidakt. Aber du wirst, denn du dich länger mit VBA beschäftigst, bald festellen: Übung macht den Meister. ;-)


Anzeige
AW: Shaoes umbenennen
16.08.2014 17:22:12
stef26
Hallo Karin,
super duper dankeschööön. Habs gerade in meiner Orginal eingehängt und es funktioniert super.
Danke auch für die hilfreichen Kommentare, sind gut für mich um den Code zu verstehen und später mal selber anwenden zu können.
Vielen vielen Dank
und liebe Grüße
Stefan
P.S. klasse Forum

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige