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

1. Zeichen gross, Rest klein und ohne Leerzeichen

1. Zeichen gross, Rest klein und ohne Leerzeichen
harald
Hallo,
in einer Textbox kann der Benutzer einen Text eingeben, der dann in eine bestimmte Zelle zum bestehenden Text hinzugefügt wird.
Nun möchte ich über VBA die Eingabe so ändern, dass alle Leerzeichen und Punkte entfernt werden, das erste Zeichen (falls klein geschrieben) in einen Grossbuchstaben und alle weiteren Zeichen (Buchstaben und Ziffern) in Kleinbuchstaben und Ziffern geändert werden. In der Zelle selbst kann ich das nicht machen, da jeder neue Eintrag wieder mit Leerzeichen vom bisherigen Inhalt abgetrennt wird.
Wenn also in der Textbox c.A34b De steht, soll Ca34bde übernommen werden.
M.f.G.
Harald Rupp

36
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Bilder in Zelle verankern?
Sabine
Kann man die Bilder so in der Zelle/Zeile
verankern, dass diese beim löschen oder ausblenden von Zeilen mit
verschwinden ?
Vielen Dank
Sabine
AW: Bilder in Zelle verankern?
UweD
Hallo
so z.B.

Private Sub TextBox1_Change()
Dim Neu$
Neu = WorksheetFunction.Substitute(TextBox1.Text, ".", "") 'Punkte raus
Neu = WorksheetFunction.Substitute(Neu, " ", "") 'Leerzeichen raus
Neu = WorksheetFunction.Proper(Neu) 'erster Buchstabe Gross
Range("A1").Value = Range("A1").Value & Neu
End Sub

Gruß UweD
(Rückmeldung wäre schön)
AW: Bilder in Zelle verankern?
harald
Hallo Uwe,
vielen Dank für die schnelle Hilfe
M.f.G.
harald
Anzeige
AW: Bilder in Zelle verankern?
harald
Hallo Uwe,
mit deinem Code habe ich noch einen (kleinen) Fehler:
Bei der Anweisung
Neu = WorksheetFunction.Proper(Neu) 'erster Buchstabe Gross
wird nach einer Ziffer wieder gross weitergeschrieben -
aus c.a.24 BcB wird Ca24Bcb statt Ca24bcb.
Kann man das noch abfangen?
M.f.G.
harald
AW: Bilder in Zelle verankern?
UweD
Hallo
Excel geht davon aus, das da ein neues Wort beginnt.
So geht es aber...

Private Sub TextBox1_Change()
Dim Neu$
Neu = WorksheetFunction.Substitute(TextBox1.Text, ".", "") 'Punkte raus
Neu = WorksheetFunction.Substitute(Neu, " ", "") 'Leerzeichen raus
Neu = UCase(Left(Neu, 1)) & LCase(Mid(Neu, 2)) 'erster Buchstabe Gross
Range("A1").Value = Range("A1").Value & Neu
End Sub

Gruß UweD
(Rückmeldung wäre schön)
Anzeige
AW: Bilder in Zelle verankern?
Harald
Hallo Uwe,
vielen Dank, diesen Code habe ich auch von Bertram bekommen, aber da beschwert sich der Compiler, dass das Argument nicht kompatibel sei (Left wird markiert).
Ich weiss auch nicht, woran das liegt - bei Bertram funktioniert es angeblich.
m.f.g.
harald
AW: Bilder in Zelle verankern?
Reinhard
Hi Harald,
habe jetzt nur dein Posting gelesen und nicht den Thread verfolgt.
Benutze mal anstatt "Left" "VBA.Left", wenns dann klappt liegt es an einem fehlenden Verweis/AddIn. Wnn dem so ist melde dich nochmal, dann schaue ichandere welcher es ist.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Bilder in Zelle verankern?
Harald
nein, damit klappt es leider auch nicht.
AW: Bilder in Zelle verankern?
Ptonka
Hallo,
Dein Problem mit dem angepassten Text kannst Du so lösen:
Ich habe zunächst eine Userform1 angelegt, in der die Textbox1 die Eingabe des Users aufnimmt. Mit einer Schaltfläche (CommandButton1) wird die Eingabe bestätigt.
Anschliessend läuft u.a. Makro ab und setzt die Eingaben, so wie gewünscht in die Zelle A1 des Tabellenblattes Tabelle1.
Schreib mal, ob es das ist, was Du haben wolltest.
Gruß,
Ptonka

Private Sub CommandButton1_Click()
Eingabe = UserForm1.TextBox1.Value
Eingabe2 = LCase(Eingabe) 'LCase macht alle Buchstaben klein
Länge = Len(Eingabe2)
Erstergroß = UCase(Left(Eingabe2, 1)) 'UCase macht alle Buchstaben groß
Neu = Erstergroß & Right(Eingabe2, Länge - 1) 'Text in Kleinbuchstaben mit beginndenem Großbuchstaben
Neu2 = Replace(Neu, ".", "") 'Alle Leerzeichen entfernen
Neu3 = Replace(Neu2, " ", "") 'Alle Punkte entfernen
'Text in Zelle A1 fortlaufend schreiben
Sheets("Tabelle1").Select
Range("A1").Value = Range("A1").Value & Neu3
UserForm1.Hide
End Sub

Anzeige
AW: Bilder in Zelle verankern?
harald
Hallo ptonka,
vielen Dank
Harald
AW: Bilder in Zelle verankern?
harald
Hallo Sabine,
welche Bilder? Bei meinem Problem gibt es doch keine Bilder!
m.f.G.
harald
AW: 1. Zeichen gross, Rest klein und ohne Leerzeichen
Bertram
Hallo Harald,

Private Sub TextBox1_AfterUpdate()
Dim strText As String
strText = Me.TextBox1.Value
Application.WorksheetFunction.Substitute strText, " ", ""
strText = UCase(Left(strText, 1)) & LCase(Mid(strText, 2))
Me.TextBox1.Value = strText
End Sub

Gruß
Bertram
Nachtrag
Bertram
Die Zeile muss natürlci hso lauten:
strText = Application.WorksheetFunction.Substitute(strText, " ", "")
Gruß
Bertram
Anzeige
Nachtrag 2
Bertram
Heute ist nicht mein Tag:-)
habe die Punkte vergessen:
strText = Application.WorksheetFunction.Substitute(strText, ".", "")
Gruß
Bertram
AW: Nachtrag 2
harald
Hallo Bertram,
vielen Dank für Deine Hilfe!
M.f.G.
harald
Gerne oT
Bertram
AW: 1. Zeichen gross, Rest klein und ohne Leerzeic
harald
Hallo Bertram,
bei deinem Code bekomme ich noch eine Fehlermeldung:
In der Zeile
strText = UCase(Left(strText, 1)) & LCase(Mid(strText, 2))
wird Left markiert und die Meldung "Fehler beim Compilieren - Argument ist nicht kompatibel" wird angezeigt.
Woran liegt das?
M.f.G.
Harald
AW: 1. Zeichen gross, Rest klein und ohne Leerzeic
Bertam
Hallo Harald,
das Problem kann ich bei mir leider nicht nachvollziehen, läuft einwandfrei. Schau doch im VBA-Editor unter Extras-Verweise welche dort angehäkelt sind. Vielleicht fehlt da ein Verweis auf eine bestimmte DLL.
Gruß
Bertram
Anzeige
AW: 1. Zeichen gross, Rest klein und ohne Leerzeic
Harald
da kenne ich mich leider nicht aus - bei mir sind die ersten 5 Felder markiert.
AW: 1. Zeichen gross, Rest klein und ohne Leerzeic
Bertram
Und wie heißen die?
AW: 1. Zeichen gross, Rest klein und ohne Leerzeic
Harald
bin jetzt zu Hause, hier kommt die gleiche Meldung (auf diesem Rechner läuft allerdings Office 2003)
Verweise:
Visual Basic for Applications
Microsoft Excel 11.0 Object Library
Ole Automation
Microsoft Office 11.0 Object Library und
Microsoft Forms 2.0 Object Library.
m.f.g.
Harald
AW: 1. Zeichen gross, Rest klein und ohne Leerzeic
Bertram
Hi,
das sieht soweit gut aus. Langsam bin ich mit meinem Latein am Ende. Wie heißt den die DLL, auf die der Verweis 'Visual Basic for Applications' verweist?
Bei mir heißt das Ding 'VBA332.dll'.
Gruß
Bertram
Anzeige
O.T. Dateinamen eines Verweises ermitteln
Reinhard
Hallo Bertram,
wie hast du den den Namen herausgefunden? in Extras--Verweise ist der Pfad zu lang, kann den Dateinamen nicht lesen da er abgeschnitten wird :-(
Gruß
Reinhard
AW: O.T. Dateinamen eines Verweises ermitteln
Bertram
Hi Reinhard,
im VBA-Editor F2 drücken, dann kommst du in den Objektkatalog. Dort suchts du (u.U. in allen Bibliotheken) nach z.B. 'Left' und findest u.a.
VBA - Strings - Left
Im Fenster darunter findest du dann
Function Left(String, Length As Long)
Element von VBA.Strings
Klicke auf VBA und es erscheint der ganze Pfad, wie z.B. bei mir:
C:\Programme\Gemeinsame Dateien\Microsoft Shared\VBA\VBA332.dll
Gruß
Bertram
Anzeige
AW: O.T. Dateinamen eines Verweises ermitteln
Reinhard
Hallo Bertram,
sollte mich mal wohl doch mal mit F2 beschäftigen :-)
Bei mir steht da zu VBA:
C:\Programme\Gemeinsame Dateien\Microsoft Shared\VBA\VBA6\VBE6.DLL
Ich habe XL2000
Gruß
Reinhard
AW: O.T. Dateinamen eines Verweises ermitteln
Bertram
Also ich hab ne steinalt Version (Excel 97) und der Code funktioniert. Verstehe nicht warums bei Harald nicht geht:-(
Gruß
Bertram
AW: O.T. Dateinamen eines Verweises ermitteln
Harald
Hallo,
bei mir steht da auch VBE6.Dll, und zu Hause arbeite ich mit Office 2003. Ich mache das Ganze in mehreren Schritten (kein schöner Code, aber es funktioniert wenigstens):
1. linken Buchstaben als neuen String, und diesen dann mit UCase bearbeiten - UCase(text1) funktioniert seltsamerweise
2. Rest in neuen String und diesen dann mit LCase bearbeiten
3. beide neue Strings zusammenfügen
Trotzdem möchte ich mich noch mal bei euch für eure Mühe bedanken
Anzeige
AW: O.T. Dateinamen eines Verweises ermitteln
Harald
Hallo,
bei mir steht da auch VBE6.Dll, und zu Hause arbeite ich mit Office 2003. Ich mache das Ganze in mehreren Schritten (kein schöner Code, aber es funktioniert wenigstens):
1. linken Buchstaben als neuen String, und diesen dann mit UCase bearbeiten - UCase(text1) funktioniert seltsamerweise
2. Rest in neuen String und diesen dann mit LCase bearbeiten
3. beide neue Strings zusammenfügen
Trotzdem möchte ich mich noch mal bei euch für eure Mühe bedanken
AW: O.T. Dateinamen eines Verweises ermitteln
Bertram
Also ich hab ne steinalt Version (Excel 97) und der Code funktioniert. Verstehe nicht warums bei Harald nicht geht:-(
Gruß
Bertram
Was ist denn nu passiert?
Bertram
Wollt eigentlich fragen, wie du ohne 'Left ' den Buchstabe kriegst?
Wieso postet das Ding meinen vorherigen Beitrag? (*grübel*)
Gruß
Bertram
AW: Was ist denn nu passiert?
Harald
das ist ja das Seltsame - wenn ich es in mehreren Schritten mache, geht es!
Also
strLinks = Left(strText,1)
strLinks = UCase(strLinks)
strRechts = Mid(strText,2)
strRechts = LCase(strRechts)
strText = strLinks & strRechts
Nur in einer Zeile ohne Speicherung als neuen string funktioniert es (bei mir) nicht!
mfg
harald
AW: Was ist denn nu passiert?
Reinhard
Hi Harald,
also sind VBa Befehle wie Left bekannt. Einzeln werden sie durchgeführt. In einer Befehlszeile gibt es Fehler.
Google bitte mal in Groups nach der exakten fehlermeldung.
Irgendwie glaube ich, du könntest eine Beispieldatei erstellen, mit dem Code in einer Zeile, bei dir Fehler, bei "uns" wird er fehlerfrei laufen.
Ich habe XL2000 auf WinXP, ohne irgendwelche Servicepacks. Wäre jetzt interessant was du hast aber ich zweifle dass das hilfreich ist.
Ich kann auch in der bei dir fehlerhaften Befehlszeile keinen Fehler erkennen.
Naja, vielleicht die Besseren hier, deshalb Frage noch offen.
Gruß
Reinhard
Gruß
Reinhard
AW: Was ist denn nu passiert?
Harald
Hallo,
hier ist die Beispieldatei - die Fehlermeldung erscheint, sobald ich den Button Ausleihe drücke.
Ich habe Office2003 auf Windows XP und die neuesten Updates von der Microsoft-Homepage
https://www.herber.de/bbs/user/36525.xls
m.f.g.
Harald
AW: Was ist denn nu passiert?
EtoP
Hallo Harald,
Der Befehl
Buchnummer = UCase(Left(Buchnummer), 1) & LCase(Mid(Buchnummer), 2)
ist falsch, muss heissen
Buchnummer = UCase(Left(Buchnummer, 1)) & LCase(Mid(Buchnummer, 2))
Gruss Hansueli
AW: Was ist denn nu passiert?
Harald
Hallo Hansueli,
vielen Dank für deine Hilfe!!! So viel Ärger wegen der falschen Klammer. Jetzt funktioniert es ohne Probleme.
m.f.g.
Harald
AW: Was ist denn nu passiert?
Harald
Hallo Reinhard,
Problem ist gelöst - Hansueli hat den Fehler gefunden - Klammer wurde zu früh geschlossen. Nochmals vielen Dank für die Mühe!
m.f.g.
Harald

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige