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

Schriftart ändern

Schriftart ändern
29.05.2008 12:47:23
gp
Hallo Zusammen,
ich habe folgenden VBA Code
For KeyCount = 1 To Len(strTxt)
If Mid(Cells(20, 10), KeyCount, 2) = "VT" Then
With Cells(20, 10).Characters(Start:=KeyCount, Length:=2).Font.Name = "Arial"
.FontStyle = "Fett"
End With
End If
Next KeyCount
Das Problem scheint am "If Mid(Cells(20, 10)... ="VT" zu liegen, da Then übersprungen wird. Die Frage ist
was muss ich schreiben damit in dem String nach "VT" gesucht wird.
Für Hinweise herzlichen Dank.
Gruss
Gunter

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schriftart ändern
29.05.2008 13:13:00
Erich
Hallo Gunter,
vielleicht liegt es am falschen Gebrauch der With-Anweisung?
Probier mal

Option Explicit
Sub aTst1()
Dim strTxt As String, KeyCount As Integer
With Cells(20, 10)
strTxt = .Value
For KeyCount = 1 To Len(strTxt) - 1
If Mid(strTxt, KeyCount, 2) = "VT" Then
With .Characters(Start:=KeyCount, Length:=2).Font
.Name = "Arial"
.Bold = True
End With
End If
Next KeyCount
End With
End Sub
Sub aTst2()
Dim KeyCount As Integer
With Cells(20, 10)
For KeyCount = 1 To Len(.Value) - 1
If Mid(.Value, KeyCount, 2) = "VT" Then
With .Characters(KeyCount, 2).Font
.Name = "Arial"
.FontStyle = "Fett"
End With
End If
Next KeyCount
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Schriftart ändern
29.05.2008 14:15:00
gp
Hallo Erich,
ich habe es mit beiden Skripts probiert leider ohne Erfolg. Wenn ich den Debugger laufen lasse geht es bis
in die Zeile "For KeyCount = 1 To Len(strTxt) - 1" und springt dann auf End With. Wenn ich mir Len(strTxt) anzeigen lasse steht da nichts drin.
Für weiter Unterstützung wäre ich sehr dankbar.
Gruss
Gunter

AW: Schriftart ändern
29.05.2008 13:15:10
Rudi
Hallo,
das geht auch ohne Schleife. Oder kommt VT öfter vor?

Keycount=instr(cells(20,10),"VT")
if keyCount >0 then
With Cells(20, 10).Characters(Start:=KeyCount, Length:=2).Font
.Name = "Arial"
.Bold=true
End With
End If


Gruß
Rudi

Anzeige
Nee, das glaube ich nicht,...
29.05.2008 13:16:38
Luc:-?
...Günter!
Das liegt wohl an deiner äußerst merkwürdigen With-Konstruktion! Alles, was zwischen With und End With steht, bezieht sich stets auf das Konstrukt in der With-Zeile! Und was soll da bei dir rauskommen...? Lies mal lieber in der VBE-Hilfe die With-Syntax nach. Außerdem solltest du vor End If noch Exit For einfügen, denn du hast ja sicher nicht mehrere VT in deinem Text, weshalb ein weiterer Durchlauf sinnlos wird... ;-)
Gruß Luc :-?
PS: Außerdem hättest du auch im alten Thread bleiben können!

Anzeige
AW: Nee, das glaube ich nicht,...
29.05.2008 13:47:00
gp
Also vielen Dank für die Reaktionen,
es kommen tatsächlich mehrere VT in der Zelle vor, daher ist die Schleife notwendig.
Zu dem gebrauch der With-Anweisung, der Debugger gibt Fehlermeldungen aus und ich versuche, als Anfänger der ich nun mal bin, das Skript entsprechend der Meldung anzupassen.
Da ich im alten Thread mit Daniel's Vorschlag nicht weiter gekommen bin, habe ich versucht einen neuen Weg zu finden und diesen in einem neuen Thread zur Diskussion gestellt. Das Anliegen ist das gleiche die Wege sind verschieden und damit auch die auftretenden Probleme.
Immerhin und dafür auch mein Dank an Erich für seine Lösung, ist jetzt auch wieder etwas gegangen.
Ich werde das gleich mal testen und berichten.
Gruss
Gunter

Anzeige
AW: Nee, das glaube ich nicht,...
29.05.2008 13:58:28
Renee
Hi Gunter,
Gemäss deinem Ansatz:

Sub Fettig()
Dim KeyCount As Integer
For KeyCount = 1 To Len(Cells(20, 10).Value)
If Mid(Cells(20, 10), KeyCount, 2) = "VT" Then
Cells(20, 10).Characters(Start:=KeyCount, Length:=2).Font.Bold = True
End If
Next KeyCount
End Sub


GreetZ Renée

Schriftart ändern
29.05.2008 14:27:00
gp
Hallo Renée,
mit Deiner Lösung passiert das gleiche wie bei Erich's. Ich habe den verdacht, das da am Rest von meinem Skript irgend etwas faul ist. Vollständig schaut das Ganze so aus:
Option Explicit

Private Sub Worksheet_Deactivate()
Application.ScreenUpdating = False
Dim varZ As Variant, lngZ As Long, zz As Long, strTxt As String
Dim KeyCount As Integer, t As Integer, i As Integer
varZ = Application.Match(CDbl(Date), Columns(1), 0)
If IsError(varZ) Then
MsgBox "Heutiges Datum nicht gefunden - Abbruch"
Exit Sub
Else
lngZ = CLng(varZ)
End If
For zz = lngZ To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(zz, 1) = Date Then
varZ = zz
If strTxt > "" Then strTxt = strTxt & "; "
strTxt = strTxt & "VT " & Cells(zz, 9) & ": " & Cells(zz, 3)
End If
Next zz
Tabelle3.Cells(20, 10) = strTxt
For KeyCount = 1 To Len(Cells(20, 10).Value)
If Mid(Cells(20, 10), KeyCount, 2) = "VT" Then
Cells(20, 10).Characters(Start:=KeyCount, Length:=2).Font.Bold = True
End If
Next KeyCount
For zz = lngZ To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(zz, 1) = Date And Cells(zz, 8) > "" Then
varZ = zz
If strTxt > "" Then i = i + 1
strTxt = i
End If
Next zz
Tabelle3.Cells(42, 4) = strTxt
End Sub


Ich hoffe das ist nicht zu viel. Aber irgendwie macht mich das verrückt, dass das nicht funktionieren will
Gruss
Gunter

Anzeige
AW: Schriftart ändern
29.05.2008 14:36:00
Renee
Hi Gunter,
Immer wenns brenzlig wird, rücken die Leute mit noch mehr Code raus.
Warum ist dem so? Dein Verdacht ist nicht unbegründet und hätte auch schon früher aufkommen können.
Aufgrund der Codezeile Tabelle3.Cells(20, 10) = strTxt muss ich annehmen, dass sich die Formatierung auch auf diese Zelle beziehen sollte. Dann fehlt schlicht die richtige Referenzierung (stöööhn, wie so oft...).

For KeyCount = 1 To Len(Tabelle3.Cells(20, 10).Value)
If Mid(Tabelle3.Cells(20, 10), KeyCount, 2) = "VT" Then
Tabelle3.Cells(20, 10).Characters(Start:=KeyCount, Length:=2).Font.Bold = True
End If
Next KeyCount


GreetZ Renée

Anzeige
AW: Schriftart ändern
29.05.2008 14:54:00
gp
Hallo Renée,
die Anfänger halt, keine Ahnung von Referenzierung und dann noch am Code sparen wollen, aber gewusst wie spart Energie. Werde es mir für's nächste mal merken.
Herzlichen Dank, so funktioniert's prima.
Gruss
Gunter

oT hab lange ...
29.05.2008 13:54:00
neopa
Hallo Luc,
... mich nicht gemeldet, 1. weil plötzlich "heimatlos" und 2. weil ich zur Zeit viel Stress hatte und habe. (Heute habe ich mir einfach mal wieder etwas Zeit genommen).
Warum hattest Du Dich eigenllich nicht für Raddusch angemeldet? Für Dich wäre es doch ein Katzensprung gewesen. Oder wusstest Du, dass es so heiß wird und wolltest Dich nicht den Mücken aussetzen ;-)
Gruß Werner
.. , - ...

Anzeige
OT/Re: Ja, ja,...
30.05.2008 13:44:52
Luc:-?
...Werner,
ich kenne den Spreewald und Raddusch und das Museumsdorf und die Mücken und auch die alten Tagebaue und ihre Großgeräte. Mit dem Fahrrad könnte ich in 5-6 Stunden bei einer "relativen" Durchschnittsgeschwindigkeit von 20 km/h vor Ort sein (mit 14 war das ein Schulausflug!).
Warum dann nicht angemeldet? Tja, vielleicht bin ich nicht so "vergnügungssüchtig", aber ursprünglich wollte ich (schon aus den von dir genannten Gründen) kommen, aber dann gab's Urlaubs- und andere Querelen und schon war's zu spät... Sind morgen aber in Bautzen und Görlitz - vielleicht reicht's noch zu einem kurzen Abstecher...
Ansonsten viel Spaß an alle Beteiligten!
Gruß Luc :-?
PS: Leider wirst du das wohl erst nach deiner Rückkehr lesen können... Daran ist Kontraste schuld! ;-)

Anzeige
OT/Re2: Während ihr um 20:45h...
01.06.2008 00:08:00
Luc:-?
...vermutlich noch gemütlich (bei dieser Hitze!) im "Wendischen Zimmer" gesessen habt, war ich schon wieder zu Hause.
Nach Grillen sah es da aber auch nicht aus - wo haben die das denn gemacht? Oder wart ihr vorher woanders? Na, ja, ich hab's dann, auch anbetracht eurer und meiner Tagesstrapazen, aufgegeben. Wer weiß, ob so ein inoffizieller "Überraschungsgast" in dieser Situation willkommen gewesen wäre... ;-)
Mein Tagesplan ließ sich leider auch nicht mit dem euren in Übereinstimmung bringen...
Gruß Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige