Anzeige
Archiv - Navigation
1940to1944
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

Text aus Zellen in Textbox auf Userform zeigt Fehler

Text aus Zellen in Textbox auf Userform zeigt Fehler
21.08.2023 10:02:05
Dieter(Drummer)
Guten Tag an alle,

der Text aus Zellen, hier B5:B7, wird in die TextBox (tb1), auf der Userform (usf1), eingetragen. Das funktioniert. Hatte prima Hilfe dabei aus diesem Forum!

Was nicht funktioniert:
Der Text in Musterdatei, hier Zellen B5 "Text1", B6 "Text2", B7 "Text3", wird durch Code in: B5 "Text1", B6 "Text1", B7"Text1".
Ich denke, da wird der Text aus B5 in B6 und B7 übernommen.

Das soll NICHT sein! Es soll der Text unberändert in die Textbox.

Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)

Musterdatei: https://www.herber.de/bbs/user/162397.xlsm

Es kann mit diesem Codeteil zusammen hängen, bin mir aber nicht sicher.

  ... For Each Zelle In Selection 

Zelle.Value = Replace(activecell.Value, "AW: ", "") 'von Herber: Daniel. AW: löschen wenn da
Next ...

Hier mein derzeitiger, ganzer Code:
'Herber: hary 05.08.2023 11:17:07
'AW: Text in Zellen am Anfang einfügen und Resttext belassen
Sub Text_rein()

Dim Zelle As Range

'Ergänzung von Mx
If MsgBox("Richtige Zellen markiert?", vbQuestion + vbYesNo, " Markierung") = vbYes Then
Selection.ClearFormats 'Zellformate löschen

'Mx: In markierten Zellen, alle AWs löschen
For Each Zelle In Selection

Zelle.Value = Replace(activecell.Value, "AW: ", "") 'von Herber: Daniel. AW: löschen wenn da
Next

Selection.Font.Color = vbBlue 'Nach AW: Resttext blau
'Ende Mx

For Each Zelle In Selection

Zelle.Value = "AW: " & Zelle.Value
Zelle.Characters(1, 3).Font.Color = vbRed
Next

Else
MsgBox "Markierung vornehmen!", vbInformation, " Markierung"
usf1.opt1.Value = False
Exit Sub
End If
Call ZellText_in_TextBox
End Sub

'Herber: GerdL 07.08.2023 17:32:51
'Zelltext aller markierten Zellen, untereinander in Textbox
Sub ZellText_in_TextBox()

Dim strText As String, lrgCell As Range

usf1.tb1.AutoSize = True 'Mx

strText = "Markierte Zelle(n): " & Selection.Address(0, 0) & Chr(10)

For Each lrgCell In Selection
strText = strText & Chr$(10) & lrgCell
Next
usf1.tb1 = strText

If MsgBox("Text vorlesen?", vbQuestion + vbYesNo, " Vorlesen") = vbYes Then
usf1.opt1.Value = False
Application.Speech.Speak usf1.tb1, SpeakAsync:=True
Else
End If
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text aus Zellen in Textbox auf Userform zeigt Fehler
21.08.2023 10:30:10
Daniel
ActiveCell ist die Zelle, die zuletzt markiert wurde, dh entweder die Zelle die der Anwender angeklickt hat bevor er das Makro gestartet hat, oder die Zelle, die das Makro zuletzt selektiert hat.

Du musst endlich mal lernen, beim Programmieren mitzudenken und nicht einfach irgendwas abzuschreiben.
AW: Verstehe ich nicht ...
21.08.2023 10:59:28
Dieter(Drummer)
Hallo Daniel,

Danke für deine Rückmeldung und Hinweis. Ich versuche schon, nicht einfach abzuschreiben ... jedoch das Wissen der Spezialisten-/innen, werde ich in meinem Alter nicht mehr erreichen!

Dein Hinweis mit "ActiveCell ..." verstehe ich nicht, denn ob ich die Zellen vor Makroaufruf oder nach Makroaufruf markiere, ist offensichtlich egal. In beiden Fällen werdem die Folgezellen mit dem Inhalt der ersten, markierten Zelle, überschrieben.

Evtl. kann mir dennoch jemand helfen.

Gruß, Dieter(Drummer)

Anzeige
Verstehe ich nicht ...
21.08.2023 11:30:26
hary
Moin Dieter
Nicht activecell sondern zelle.
zelle.Value = Replace(zelle, "AW: ", "") 

Die Aktive Zelle in selection bleibt immer die erste.
Zum Testen:
Sub Test()

Dim zelle As Range
For Each zelle In Selection
MsgBox activecell.Address
Next
End Sub

gruss hary
AW: Danke Hary ...
21.08.2023 11:47:44
Dieter(Drummer)
Hallo Hary,

.... habe deinen Codehinweis: "zelle.Value = Replace(zelle, "AW: ", "") ", im Code jetzt ausgewechselt, in Code "Text_rein" und Code "TextTeil_raus". Jetzt klappt es perfekt.
Werde mich damit noch befassen ...

Nochmal Danke und eine gute Woche.

Gruß, Dieter(Drummer)
Anzeige
AW: Ich sollte noch darauf hinweisen, dass ...
21.08.2023 11:06:16
Dieter(Drummer)
Hallo Daniel,

... der markierte Bereich variabel ist. Es kann ein Zelle oder auch mehrere Zellen sein.

Gruß, Dieter(Drummer)
Ich sollte noch darauf hinweisen, dass ...
21.08.2023 12:46:09
daniel
und ActiveCell ist immer die erste Zelle eines markieren Bereichs.
Ich sollte noch darauf hinweisen, dass ...
21.08.2023 12:55:26
daniel
was nichts daran ändert, das ActiveCell die erste Zelle des markierten Bereichs ist.
nach Range("B10:C11").Select ist B10 die ActiveCell
nach Range("A1").Select ist A1 die ActiveCell

Gruß Daniel
AW: Danke nochmal für Hinweis, Daniel ... owT
21.08.2023 12:57:33
Dieter(Drummer)

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige