Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1896to1900
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
VBA Userform
14.09.2022 13:25:40
Samuel
Hallo Daniel
ich habe ein kleinen Bug entdeckt, wenn ich in einer Liste zwei oder mehrmals eine Variable kommt es zur Fehlermeldung. Beispielsweise Apfel Apfel. Darüber hinaus ist das zweite String nicht mehr unterstrichen und Fett.
Ansonsten hat mir dein Programm sehr gut geholfen.
leider kann ich den Fehler nicht selbst beheben und bräuchte unbedingt Hilfe
https://www.herber.de/bbs/user/154780.xlsm
Gruß Apfelbaum

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Userform
14.09.2022 14:25:43
Daniel
kannst du nochmal den Originalthread aus dem Archiv verlinken, bzw wann hast du die Frage gestellt?
anosnsten ist da mit der zweiten gleichen Überschrift kein Fehler, sondern einfach so nicht vorgesehen.
die Position wird so ermittelt:

x = InStr(GesamtText, Kopf(j) & Trz)
das geht einfach davon aus, dass die Überschrift in der Zelle nur einmal vorkommt.
sonst wirds kompliziert.
Gruß Daniel
AW: VBA Userform
14.09.2022 17:05:49
Samuel
Hallo,
Zuerst den Link: https://www.herber.de/forum/messages/1895763.html
Wenn du schon meinst, dass es sonst kompliziert wird. Muss ich mir ein Umweg überlegen.
Vielen Dank trotzdem
Gruß Apfelbaum
Anzeige
AW: VBA Userform
14.09.2022 18:25:26
Daniel
Hi
es geht auch einfach.
man kann sich beim Erstellen des Textes die Positionen ja merken, dann muss man nicht suchen.

Private Sub CommandButton1_Click()
Dim Ausgabetext As String
Dim i As Long
Dim Pos() As Long
Einzeltexte(TabStrip1.Value) = TextBox1.Text
ReDim Pos(0 To UBound(Kopf))
For i = 0 To UBound(Kopf)
Pos(i) = 1 + Len(Ausgabetext)
Ausgabetext = Ausgabetext & Kopf(i) & Trz
If Einzeltexte(i)  "" Then Ausgabetext = Ausgabetext & Einzeltexte(i) & vbLf
Next
Ausgabetext = Left(Ausgabetext, Len(Ausgabetext) - 2)
Select Case MsgBox(Ausgabetext, vbYesNoCancel, "Textkontrolle")
Case vbCancel
Unload Me
Case vbNo
Case vbYes
ActiveCell.Value = Ausgabetext
ActiveCell.Font.Bold = False
ActiveCell.Font.Underline = False
For i = 0 To UBound(Kopf)
With ActiveCell.Characters(Pos(i), Len(Kopf(i) & Trz))
.Font.Bold = True
.Font.Underline = True
End With
Next
Unload Me
End Select
End Sub
Gruß Daniel
Anzeige
AW: VBA Userform
15.09.2022 14:03:40
Apfelbaum
Hallo,
Das Eintragen klappt jetzt super, jedoch wenn ich auf die Zeile mit den Userform wieder aufrufe doppelklicke. Kommt es zur Laufzeitfehler. Der Fehler kommt auch nur wieder wenn die Strings gleich sind.
Der Debug beginnt bei "Private Sub UserForm_Initialize()""
ich schätze den Support sehr
Gruß Apfelbaum
AW: VBA Userform
15.09.2022 15:55:14
Daniel
In der Beispieldatei die du hier eingestellt hast, sind solche Dopplungen durch die Datenüberprüfung verboten.
Warum sollte also das Makro etwas beherrschen, was per Definition nicht zulässig ist?
Gruß Daniel
AW: VBA Userform
22.09.2022 10:50:04
Apfelbaum
Hallo,
Es liegt zum Teil daran, dass ich mit dem entsprechenden Werten Ein Diagramm aufbauen möchte. dabei kann es vorkommen das manche Werte in der Zelle mehrmals vorkommen. Das zum Teil häufig. Die Fehlermeldung in der Datenüberprüfung habe ich deaktiviert und kann daher Dopplung einfügen. Meine Überlegung wäre hier zum Beispiel ein Counter neben den Kategorie ein zu führen wie:
String
String-1
String-2
String-3
Um Somit die Dopplung zu umgehen.
Trotz allem vielen Dank
Gruß Apfelbaum
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige