Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
544to548
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
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe bei Makroumstellung _ Text _Hervorheben

Hilfe bei Makroumstellung _ Text _Hervorheben
09.01.2005 16:45:05
Sonnenpeter
Hallo zusammen
Matthias hat mir diese Makro's geschrieben, die auch funktionieren.
Nun mein Probblem.
Ich wollte es umschreiben und eine Inputbox einbauen, da ich nicht nur Firmennamen sondern auch Stadtnamen etc, fett hervorheben will/soll.
Jetzt muss ich jedesmal in VBA und die Constante entsprechend ändern -(
Wenn ich die Inputbox einbaue wird "finde" als Constante gefordert und ende der Fahnenstange.
'finde = InputBox("Suchbegriff eingeben", "Eingabe")
Habe ihr eine Lösung?
Gruß / Sonnenpeter
Option Explicit

Sub SchreibeFett()
Const finde = "Firma Müller" 'könnte auch "Fr. Müller sein ober Musterstadt etc.
'Dim finde
Dim found As Range
Dim firstaddress As String
'finde = InputBox("Suchbegriff eingeben", "Eingabe")
Set found = Cells.Find(What:=finde, LookIn:=xlValues, LookAt _
:=xlPart, MatchCase:=False)
If Not found Is Nothing Then
firstaddress = found.Address
Do
Machfett found, finde
Set found = Cells.FindNext(found)
Loop While Not found Is Nothing And found.Address <> firstaddress
End If
End Sub


Sub Machfett(z As Range, f As String)
Dim z0 As String
Dim fx As Long, start As Long
z0 = z.Value
start = 1
fx = InStr(start, z0, f)
Do While fx > 0
With z.Characters(start:=fx, Length:=Len(f)).Font
.FontStyle = "Fett"
.ColorIndex = 5
End With
start = start + Len(f)
fx = InStr(start, z0, f)
Loop
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Makroumstellung _ Text _Hervorheben
09.01.2005 16:50:58
Josef
Hallo Peter!
Das muss so heisen.

Sub SchreibeFett()
Dim finde
Dim found As Range
Dim firstaddress As String
finde = InputBox("Suchbegriff eingeben", "Eingabe")
If finde = "" then Exit Sub
'etc.

Gruß Sepp
Argumenttyb Byref unverträglich
09.01.2005 17:11:50
Sonnenpeter
Hallo Sepp,
jetzt erhalte ich folgende Fehlermeldung "Argumenttyb Byref unverträglich"
-(((
Gruß / Sonnenpeter

Sub SchreibeFett2()
Dim finde
Dim found As Range
Dim firstaddress As String
finde = InputBox("Suchbegriff eingeben", "Eingabe")
If finde = "" Then Exit Sub
Set found = Cells.Find(What:=finde, LookIn:=xlValues, LookAt _
:=xlPart, MatchCase:=False)
If Not found Is Nothing Then
firstaddress = found.Address
Do
Machfett found, finde
Set found = Cells.FindNext(found)
Loop While Not found Is Nothing And found.Address <> firstaddress
End If
End Sub

Anzeige
AW: Argumenttyb Byref unverträglich
09.01.2005 17:17:42
Josef
Hallo Peter!
Ändere bei MachFett die erste Zeile so ab.

Sub Machfett(ByRef z As Range, ByVal f As String)

Gruß Sepp
Danke Sepp!
09.01.2005 17:34:44
Sonnenpeter
Danke Sepp,
Gruß / Sonnenpeter
Hallo Sepp.. was muss ich anstellen...
09.01.2005 17:56:22
Sonnenpeter
Hallo Sepp,
Die Makros funktionieren jetzt .............. Einfach toll!!!
Was muss ich anstellen, dass die beiden Makros alle Arbeitsblätter der Arbeitsmappe durchlaufen?
Hast Du da auch etwas patrat?
Gruß / Sonnenpeter
AW: Hallo Sepp.. was muss ich anstellen...
09.01.2005 18:07:17
Josef
Hallo Peter!
Dazu muss man eine Schleife um alle Blätter legen!


      
Sub SchreibeFett()
'Const finde = "Firma Müller" 'könnte auch "Fr. Müller sein ober Musterstadt etc.
Dim finde
Dim found As Range
Dim firstaddress As String
Dim wks As Worksheet
finde = InputBox("Suchbegriff eingeben", "Eingabe")
If finde = "" Then Exit Sub
For Each wks In ThisWorkbook.Worksheets
With wks
    
Set found = .Cells.Find(What:=finde, LookIn:=xlValues, LookAt _
        :=xlPart, MatchCase:=
False)
    
If Not found Is Nothing Then
        firstaddress = found.Address
        
Do
            Machfett found, finde
            
Set found = .Cells.FindNext(found)
        
Loop While Not found Is Nothing And found.Address <> firstaddress
    
End If
End With
Next
End Sub 


Gruß Sepp
Anzeige
Nochmals Danke Sepp..................
09.01.2005 18:13:41
Sonnenpeter
Nochmals herzlichen Dank Sepp!!!!
Gruß / Sonnenpeter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige