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

Length:=3).Font.Bold = False

Length:=3).Font.Bold = False
05.06.2019 16:56:19
Klaus
Hallo Excelfreunde, bin am verzweifeln. Wir haben jetzt Office 365 und manche Makros funktionieren einfach nicht mehr. Z.B
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = False
ActiveCell.Offset(3, 0).Value = "Ort: "
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = True
Ab "Ort:" soll wieder Standard geschrieben werden und nicht Fett.
Ich hoffe mir kann jemand helfen.
Danke im voraus.

32
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Length:=3).Font.Bold = False
05.06.2019 17:22:18
onur
Nach "Ort:" kommt doch nix mehr (ausser ein Doppelpunkt), da du die Zelle mit
ActiveCell.Offset(3, 0).Value = "Ort: "
verändert hast.
Der Doppelpunkt wird korrekt "nicht fett" geschrieben.
mach mal ein Bsp wie die Daten vorliegen ...
05.06.2019 17:23:20
Matthias
Hallo
... und was in der Zelle Fett geschrieben werden soll.
Wo steht der String Ort:?
Muss man die Position erst ermitteln, oder steht Ort: z.B. immer am Anfang?
Zeig doch bitte mal 2 ... 3 Beispiele wie der Text in den Zellen steht.
Gruß Matthias
AW: mach mal ein Bsp wie die Daten vorliegen ...
05.06.2019 17:40:12
Klaus
Ereignismeldung der CMR West Duisburg vom 05.06.2019 17:39 Uhr Störfallnr.: W
Zeitpunkt: Uhr
Ort:
Strecke:
Ereignis:
Schäden:
Sonstiges:
Auswirkung auf DB Cargo:
Eingeleitete Maßnahmen CLZ/PZ/CZ:
L.CBO 4-Maßnahmen: Auszug an KS
Anzeige
AW: mach mal ein Bsp wie die Daten vorliegen ...
05.06.2019 17:42:27
onur
Gibst du den Ort manuell ein oder durch das Makro?
war denn meine Nachfragen so schwer zu verstehen?
05.06.2019 17:46:24
Matthias
Frage1:
was in der Zelle Fett geschrieben werden soll.
Frage2:
Muss man die Position erst ermitteln, oder steht Ort: z.B. immer am Anfang?
So wie Du das hier zeigst stehen die Daten doch untereinander, oder doch mit Zeilenumbruch in einer Zelle?
Bitte alle Fragen beantworten.
Gruß Matthias
AW: war denn meine Nachfragen so schwer zu verstehen?
05.06.2019 17:48:30
Klaus
Also noch mal, nach Ort,Strecke, Ereignis usw. soll Standard geschrieben werden.
ok ich bin raus. 3x frage ich nicht nach ... owT
05.06.2019 17:55:36
Matthias
AW: war denn meine Nachfragen so schwer zu verstehen?
05.06.2019 19:28:53
Klaus
Hallo Matthias, habe mich verschrieben. Ort sollte Fett stehen und danach Standard, wegen der Ansicht. Es handelt sich hier um Sofos, davon kommen am Tag 30 Stück. Mit dem Makro ist das eine Erleichterung. Kannst du bitte noch einmal drüber schauen?
Anzeige
warum, wenn Du die Fragen nicht beantwortest
05.06.2019 20:06:26
Matthias
Das sehe dann so aus
Userbild
Du bist ja aber nicht in der Lage Dein Problem korrekt zu schildern.
Das macht man, wie onur bereits erwähnte erst wenn die Zelle gefüllt ist.
Dann aber auch nicht so, wie Du Dir das vorstellst, sondern mit:
   With ActiveCell.Characters(Start:=1, Length:=Len(Variable Länge)).Font
.FontStyle = "Fett"
End With
aber nur wenn "Ort:" auch am Anfang des Strings steht.
Sonst müsste man die Position erst ermitteln.
Dein Problm ist eher Dich richtig auszudrücken(Dein Problem korrekt zu formulieren)
Gruß Matthias
Anzeige
AW: warum, wenn Du die Fragen nicht beantwortest
05.06.2019 20:11:36
Klaus
Hallo Matthias, ich habe die Datei hochgeladen. Sie Kontextmenü.
AW: warum, wenn Du die Fragen nicht beantwortest
05.06.2019 20:17:43
onur
Ich habe ehrlich keinen Bock mehr!
Leere Tabelle mit passwortgeschütztem Code!
AW: warum, wenn Du die Fragen nicht beantwortest
05.06.2019 20:31:20
Klaus
sorry das habe ich nicht bedacht, bin nicht so oft hier. Vielleicht morgen noch einmal. Danke trotzdem für eure Mühe.
Nee, jetzt ist wirklich Schluss (siehe auch onur)
05.06.2019 20:21:03
Matthias
Tschüß ...
Wie wär's denn damit, ...
05.06.2019 17:26:58
Luc:-?
…Klaus:
ActiveCell.Offset(3, 0).Font.Bold = False
ActiveCell.Offset(3, 0) = "Ort: "
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=4).Font.Bold = True

Allerdings würde „Ab "Ort:" soll wieder Standard geschrieben werden“ bedeuten, dass alles Standard sein soll. Außerdem wäre mit .Bold nur Fett ein-/ausgeschlossen, was noch nicht Standard heißen muss.
Gruß, Luc :-?
„Der beste Beweis für intelligentes Leben im Universum ist, dass noch niemand versucht hat, Kontakt mit uns aufzunehmen.“ H.Lesch, 2018, Sonneberg
Deshalb Intelligenz steigern mit …

Anzeige
AW: Wie wär's denn damit, ...
05.06.2019 17:38:16
Klaus
Hallo zusammen, wenn ich nach "Ort;" Duisburg eingebe, sollte Duisburg Standard angezeigt werden und nicht fett. Das ging bis Office 365 kam.
AW: Wie wär's denn damit, ...
05.06.2019 17:46:07
Klaus
Hier ist das Makro:
Sub CMR_Mitte_Hannover()
With Selection.Interior
.ColorIndex = 44
End With
For Each Item In Selection
ActiveCell.Offset(0, 0).Interior.ColorIndex = 44
ActiveCell.Offset(1, 0).Characters.Font.Bold = False
ActiveCell.Offset(1, 0).Value = "Ereignismeldung der CMR Mitte/Hannover vom " & Format(Now(), " _
dd.mm.yyyy  hh:mm ") & "Uhr" & "  Störfallnr.: N  "
ActiveCell.Offset(1, 0).Characters.Font.Bold = True
ActiveCell.Offset(2, 0).Characters(Start:=1, Length:=21).Font.Bold = False
ActiveCell.Offset(2, 0).Value = "Zeitpunkt:    Uhr"
ActiveCell.Offset(2, 0).Characters(Start:=1, Length:=21).Font.Bold = True
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = False
ActiveCell.Offset(3, 0).Value = "Ort: "
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = True
ActiveCell.Offset(4, 0).Characters(Start:=1, Length:=7).Font.Bold = False
ActiveCell.Offset(4, 0).Value = "Strecke: "
ActiveCell.Offset(4, 0).Characters(Start:=1, Length:=7).Font.Bold = True
ActiveCell.Offset(5, 0).Characters(Start:=1, Length:=8).Font.Bold = False
ActiveCell.Offset(5, 0).Value = "Ereignis: "
ActiveCell.Offset(5, 0).Characters(Start:=1, Length:=8).Font.Bold = True
ActiveCell.Offset(6, 0).Characters(Start:=1, Length:=7).Font.Bold = False
ActiveCell.Offset(6, 0).Value = "Schäden: "
ActiveCell.Offset(6, 0).Characters(Start:=1, Length:=7).Font.Bold = True
ActiveCell.Offset(7, 0).Characters(Start:=1, Length:=9).Font.Bold = False
ActiveCell.Offset(7, 0).Value = "Sonstiges: "
ActiveCell.Offset(7, 0).Characters(Start:=1, Length:=9).Font.Bold = True
ActiveCell.Offset(8, 0).Characters(Start:=1, Length:=23).Font.Bold = False
ActiveCell.Offset(8, 0).Value = "Auswirkung auf DB Cargo: "
ActiveCell.Offset(8, 0).Characters(Start:=1, Length:=23).Font.Bold = True
ActiveCell.Offset(9, 0).Characters(Start:=1, Length:=32).Font.Bold = False
ActiveCell.Offset(9, 0).Value = "Eingeleitete Maßnahmen CLZ/PZ/CZ: "
ActiveCell.Offset(9, 0).Characters(Start:=1, Length:=32).Font.Bold = True
ActiveCell.Offset(10, 0).Characters(Start:=1, Length:=17).Font.Bold = False
ActiveCell.Offset(10, 0).Value = "L.CBO 4-Maßnahmen: Auszug an KS "
ActiveCell.Offset(10, 0).Characters(Start:=1, Length:=17).Font.Bold = True
ActiveCell.Offset(11, 0).Interior.ColorIndex = 44
ActiveCell(1 + 1).Select
Next
'ActiveSheet.EnableAutoFilter = True
'ActiveSheet.Protect Password:="123", Contents:=True, userInterfaceOnly:=True
End Sub

Anzeige
Ohnehin unglücklich formuliert, ...
06.06.2019 00:36:02
Luc:-?
…Klaus:
1. For Each Item In Selection
Eine Selection kann alles Mögliche sein, aber hier wird wohl ein ZellBereich selektiert. Folglich sollte sicherheitshalber In ActiveWindow .RangeSelection verwendet wdn. Noch besser wäre es, wenn der gesamte Bereich vorgegeben wdn kann. Das kann man auch leicht änderbar gestalten, indem man einen benannten definierten Bereich und hier nur dessen Namen verwendet, bspw so: For Each Item In Range("relevanterBereich")
2. Wenn man nun schon einen Zyklus mit einer LaufVariable verwendet, warum wird die dann hier innerhalb des Zyklus nicht ein ein­zi­ges Mal benutzt‽ Das lässt auf große Lücken beim allgemeinen Verständnis von Programmierung schließen, denn Zyklen (Schleifen) gehören zu deren grundlegenden Bestandteilen! (Dazu mehr unter 4.)
3. Es bringt nichts, in einer leeren Zelle einem bestimmten Abschnitt eines (nicht vorhandenen!) Textes irgendeine Eigenschaft zuord­nen zu wollen. Das ist wirkungslos! Es reicht, das für die ganze Zelle zu tun und nach ihrer Vorbelegung mit einem Text diesen dann zu formatieren. Fktioniert das nicht wie gewünscht, weil deine Xl-Version die Einschränkung ignoriert, kann aber auch umgekehrt ver­fah­ren wdn und ab der Position nach dem : explizit .Font.Bold = False gesetzt wdn. Es könnte aber auch sein, dass deine XL-Version ein einfaches Leerzeichen nicht als relevant für einen Wechsel des ZeichenFormats erachtet und den deshalb ignoriert (s. auch 5.!).
4. Eine Schleife ist hier also sinnlos, es sei denn, man würde die (als Range oder Variant deklarierte!) LaufVariable auch benutzen. Das wäre hier bei den regelmäßigen Abständen durchaus möglich. Man müsste nur noch alle Vortexte in ein Array stecken und den jeweils zutreffenden Text per in der Schleife mitlfd Index entnehmen und die Position im Text, ab der der Text nicht mehr Fett sein soll, über Len(Item)-1 ermitteln.
5. Das manuelle Nachsetzen eines Textes in den vorbetexteten Zellen sollte fktionieren, wenn der zusätzliche Text tatsächlich nach dem Leerzeichen eingefügt wird. Anderenfalls ignoriert deine Xl-Version den FormatWechsel und du musst ein anderes Zeichen (zusätzlich) wählen, dass dann durch den neuen Text ersetzt (zB manuell durch Überschreiben, mit Makro per Replace- oder Mid-Methode (nicht -Funktion!) wdn muss, zB #.
Da du aber diese Fortsetzungstexte per Makro setzen willst, kommt es ganz darauf an, was dieses Makro mit der Zelle macht. Der Zusatz­Text müsste dann nämlich auch genau nach dem letzten Vortext-Zeichen (also bisher Leerzeichen) angefügt wdn. Wird aber der neue Text nur mit dem vorhandenen kombiniert und dann in Gänze zurückgeschrieben, gilt nur noch die Formatierung vom TextAnfang (für den GesamtText)!
Allerdings halte ich diese Verfahrensweise ohnehin für umständlich. Es wäre zu überlegen, ob nicht auch der Vortext (dessen Länge ja über seine Vorgabe feststellbar ist) gleichzeitig mit dem ZusatzText in die Zellen geschrieben wdn kann. Wobei natürlich der bereits gemachte Vorschlag, den Vortext als KopfText verschiedener Spalten zu verwenden, eine Option wäre, wenn es dadurch nicht zu einer deutlichen Längung der Tabelle kommt (Spalten ggf nur als Einrückung verwenden).
Luc :-?
Anzeige
AW: Wie wär's denn damit, ...
05.06.2019 18:42:03
Klaus
Habe die Zahlen hinter Length:.... vergrößert, bleibt trotzdem alle fett
AW: Length:=3).Font.Bold = False
05.06.2019 18:07:03
onur
Offensichtlich (da du ja meine Frage nicht beantwortest) gibst du den Ort MANUELL in die gleiche Zelle wo "Ort:" steht ein, und zwar direkt hiner dem Doppelpunkt.
Das ist wieder ein Beispiel für einen hirnrissigen Tabellenentwurf, wo nachher alles per VBA geradegebogen werden muss.
Jeder Andere hätte eine Spalte für "Ort." usw erstellt und fett formatiert und den Ort usw in die Spalte DANEBEN eingetragen (und normal formatiert), damit würde sich jeder VBA-Code erübrigen.
AW: Length:=3).Font.Bold = False
05.06.2019 18:32:11
Klaus
Oh, sorry.Der Ort wird per Makro eingegeben. Siehe Makro
Anzeige
AW: Length:=3).Font.Bold = False
05.06.2019 18:36:48
Klaus
Das ist überhaupt nicht hirnrissig. Um die Arbeit zu erleichtern habe ich 4 solche Makros und die haben funktioniert bis das Office365 gekommen ist.
Hier noch einmal das Makro.
Sub CMR_Mitte_Hannover()
With Selection.Interior
.ColorIndex = 44
End With
For Each Item In Selection
ActiveCell.Offset(0, 0).Interior.ColorIndex = 44
ActiveCell.Offset(1, 0).Characters.Font.Bold = False
ActiveCell.Offset(1, 0).Value = "Ereignismeldung der CMR Mitte/Hannover vom " & Format(Now(), " _
dd.mm.yyyy  hh:mm ") & "Uhr" & "  Störfallnr.: N  "
ActiveCell.Offset(1, 0).Characters.Font.Bold = True
ActiveCell.Offset(2, 0).Characters(Start:=1, Length:=21).Font.Bold = False
ActiveCell.Offset(2, 0).Value = "Zeitpunkt:    Uhr"
ActiveCell.Offset(2, 0).Characters(Start:=1, Length:=21).Font.Bold = True
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = False
ActiveCell.Offset(3, 0).Value = "Ort: "
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = True
ActiveCell.Offset(4, 0).Characters(Start:=1, Length:=7).Font.Bold = False
ActiveCell.Offset(4, 0).Value = "Strecke: "
ActiveCell.Offset(4, 0).Characters(Start:=1, Length:=7).Font.Bold = True
ActiveCell.Offset(5, 0).Characters(Start:=1, Length:=8).Font.Bold = False
ActiveCell.Offset(5, 0).Value = "Ereignis: "
ActiveCell.Offset(5, 0).Characters(Start:=1, Length:=8).Font.Bold = True
ActiveCell.Offset(6, 0).Characters(Start:=1, Length:=7).Font.Bold = False
ActiveCell.Offset(6, 0).Value = "Schäden: "
ActiveCell.Offset(6, 0).Characters(Start:=1, Length:=7).Font.Bold = True
ActiveCell.Offset(7, 0).Characters(Start:=1, Length:=9).Font.Bold = False
ActiveCell.Offset(7, 0).Value = "Sonstiges: "
ActiveCell.Offset(7, 0).Characters(Start:=1, Length:=9).Font.Bold = True
ActiveCell.Offset(8, 0).Characters(Start:=1, Length:=23).Font.Bold = False
ActiveCell.Offset(8, 0).Value = "Auswirkung auf DB Cargo: "
ActiveCell.Offset(8, 0).Characters(Start:=1, Length:=23).Font.Bold = True
ActiveCell.Offset(9, 0).Characters(Start:=1, Length:=32).Font.Bold = False
ActiveCell.Offset(9, 0).Value = "Eingeleitete Maßnahmen CLZ/PZ/CZ: "
ActiveCell.Offset(9, 0).Characters(Start:=1, Length:=32).Font.Bold = True
ActiveCell.Offset(10, 0).Characters(Start:=1, Length:=17).Font.Bold = False
ActiveCell.Offset(10, 0).Value = "L.CBO 4-Maßnahmen: Auszug an KS "
ActiveCell.Offset(10, 0).Characters(Start:=1, Length:=17).Font.Bold = True
ActiveCell.Offset(11, 0).Interior.ColorIndex = 44
ActiveCell(1 + 1).Select
Next
'ActiveSheet.EnableAutoFilter = True
'ActiveSheet.Protect Password:="123", Contents:=True, userInterfaceOnly:=True
End Sub

Anzeige
AW: Length:=3).Font.Bold = False
05.06.2019 18:53:54
onur
Was soll denn das eigentlich?
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = False' FETT "einschalten" _

ActiveCell.Offset(3, 0).Value = "Ort: "
ActiveCell.Offset(3, 0).Characters(Start:=1, Length:=3).Font.Bold = True'FETT wieder "ausschalten"

WOZU AUSSCHALTEN UND SOFORT WIEDER EINSCHALTEN?
Zu meiner Frage: Du sagst, der Ort wird per Makro eingetragen (der ORT und nicht der Text "Ort:") - Wo denn?
das Einzige, was das Makro macht, ist den Text "Ort:" eintragen, aber nicht z.B. "Köln".
AW: Length:=3).Font.Bold = False
05.06.2019 19:35:57
Klaus
Hallo onur, genau richtig. Das fett soll z,B nach Ort: ausgeschaltet werden. Diesen kopiere auch aus einer anderen Datei. Nur funktioniert das nicht mehr und ich muss alles was ich danach eintrage aus fett Standard machen.
Anzeige
AW: Length:=3).Font.Bold = False
05.06.2019 19:38:53
Klaus
Alles was hinter den Doppelpunkten steht, füge ich aus einer Datei ein.
Ereignismeldung der CMR Mitte/Hannover vom 05.06.2019 19:07 Uhr Störfallnr.: N
Zeitpunkt: Uhr
Ort: Köln
Strecke:
Ereignis: xxxxxxx
Schäden: keine
Sonstiges:
Auswirkung auf DB Cargo: noch nicht bekannt
Eingeleitete Maßnahmen CLZ/PZ/CZ:
L.CBO 4-Maßnahmen: Auszug an KS
AW: Length:=3).Font.Bold = False
05.06.2019 19:41:12
Klaus
Soll ich mal eine Datei anhängen?
AW: Length:=3).Font.Bold = False
05.06.2019 19:50:48
onur
Besser wäre es, denn ich glaube, du packst die Sache falsch an.
Du musst zuerst die Daten einfügen und DANN erst fett/nicht fett einstellen.
Du kannst nicht für einen Textteil, der noch gar nicht da steht, die Formatierung festlegen, nur für den existierenden Teil.
AW: Length:=3).Font.Bold = False
05.06.2019 20:05:14
Klaus
Habe die Datei hochgeladen, mal sehen wann sie ankommt. Einfach rechte Maustaste ins Kontextmenü gehen.
Sofortinformationen
AW: Length:=3).Font.Bold = False
05.06.2019 20:06:37
onur
"mal sehen wann sie ankommt" - solange du den Link nicht hier postest, ÜBERHAUPT NICHT.
bist bissl oder ganz schön neben der Spur, oder ?
05.06.2019 20:43:54
Matthias
owT

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige