Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VB Syntax Makro if then else

Frage Entwicklung VB for Applications

Mitglied: coxsrcrub

coxsrcrub (Level 2) - Jetzt verbinden

13.11.2007, aktualisiert 14.11.2007, 6321 Aufrufe, 3 Kommentare

if "textxy" *18* then ........... end if

Guten Morgen zusammen,

ich baue gerade ein Makro unter W2003 welches unter anderem einen Wert aus dem Feld "Text59" auslesen soll um dann das aktive Dokument weiter zu bearbeiten. Es soll lediglich geprüft werden ob z.B. die Zahl/Variable 18 enthalten ist. Ich finde irgendwie keine Beschreibung wie ich festlegen kann das der Wert nicht gleich 18 ist sondern nur Anteilig die Zahl 18 enthält. Die Zeichen * und % sind mir als erstes im Gedanken gekommen, sind aber falsch.

Wer hilft mir mal schnell auf die Sprünge?

Hier mal der bisherige Syntax dazu:

H18 und Datei wurden vorab per Dim definiert.

So in etwa habe ich mir das gedacht, funktioniert natürlich nur wenn der Wert genau 18 ist!
Wenn der Wert nun eben nicht genau 18 entspricht bekomme ich dann natürlich einen Laufzeitfehler 13, weil die Werte nicht der Vorgabe entsprechen.

If ActiveDocument.Bookmarks("Text59").Range.Text = 18 Then ActiveDocument.SaveAs H18 & Datei
MsgBox "Das Dokument wurde verarbeitet"

da ich nun eine ziemlich dilettantische Übergangslösung einsetze bin ich für alle weiteren Lösungen offen. Die Select Case Anweisung scheint ja hierfür auch irgendwie möglich zu sein. Der betreffende Auszug aus dem "Meisterwerk" sieht derzeit wie folgt aus:

If (ActiveDocument.Bookmarks("Text59").Range.Text = "18") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18a") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18b") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18c") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18d") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "Haus18") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "Haus 18") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "H18") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18A") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18B") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18C") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "18D") Then
ActiveDocument.SaveAs H18 & Datei
MsgBox "Das Dokument wurde für die Kostenstelle 18 verarbeitet"
End If


Grüße Jörg
Mitglied: RDiller
13.11.2007 um 17:07 Uhr
Probier doch mal die INSTR Funktion

z.B.:
Suchtext = ActiveDocument.Bookmarks("Text59").Range.Text
gefunden = instr(Suchtext,"18") 'Wenn der Suchstring vorhanden, gibt die Funktion TRUE zurück
if gefunden
ActiveDocument.SaveAs H18 & Datei
MsgBox "Das Dokument wurde für die Kostenstelle 18 verarbeitet"
End If
Bitte warten ..
Mitglied: coxsrcrub
13.11.2007 um 18:09 Uhr
Hi,

das sieht gut aus. Werde ich gleich Morgen mal austesten. Die Funktion war sogar meine erste Wahl, habe den Syntax offensichtlich wohl vorab völlig verdreht. 0

Grüße Jörg
Bitte warten ..
Mitglied: coxsrcrub
14.11.2007 um 10:16 Uhr
Hallo,

ist genau das was ich wollte.

Der betreffende Auszug sieht nun wie folgt aus.

Suchtext = ActiveDocument.Bookmarks("Text59").Range.Text
gefunden = InStr(Suchtext, "18")
If gefunden Then
ActiveDocument.SaveAs H18 & Datei '
MsgBox "Das Dokument wurde für die Kostenstelle 18 verarbeitet"
End If

Lediglich für die Kostenstellen 1 habe ich weiter die alte Syntax stehen gelassen. Eine 01 oder eine andere Bezeichnung bekomme ich in die Köpfe nicht rein. Man sieht ja schon das die Möglichen eingaben so versucht werden über das Makro zu Standardisieren.

If ActiveDocument.Bookmarks("Text59").Range.Text = "1" Or (ActiveDocument.Bookmarks("Text59").Range.Text = "1a") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "1b") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "1c") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "1A") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "1B") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "1C") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "Haus1") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "Haus 1") Or (ActiveDocument.Bookmarks("Text59").Range.Text = "H1") Then
ActiveDocument.SaveAs H1 & Datei
MsgBox "Das Dokument wurde für die Kostenstelle 1 verarbeitet"
End If

Grüße Jörg
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Microsoft Office
gelöst Makro wird beim öffnen Vorlage nicht ausgeführt (8)

Frage von Sunny89 zum Thema Microsoft Office ...

Visual Studio
gelöst (VB) Form-Elemente nicht wie im Entwurf angeordnet (2)

Frage von MrCount zum Thema Visual Studio ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...