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

Langen Autotext mit Leerzeilen einfügen

Langen Autotext mit Leerzeilen einfügen
Udo
Hallo
Ich möchte gerne in Excel folgendes erreichen:
Wenn ich ein bestimtes Kürzel (z.B. xxt) in eine Zelle schreibe, soll der das Kürzel automatisch durch einen bestimmten Text ersetzt werden.
Dafür habe ich bisher die Auto-Korrektur Funktion genutzt.
Nun hab ich aber das Problem, dass mein Text länger ist als der, den ich dort in das entsprechende Feld eingeben kann.
Wie kann ich das denn am bseten lösen?
Gibt es da vielleicht noch eine andere Möglichkeit als diese Auto-Korrektur Funktion?
Über Eure Hilfe würde ich mich riesig freuen.
Gruß
Ingo
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 16:23:36
Josef
Hallo Udo,

in Anhang eine Beispieldatei.
In der Tabelle "AutoText" sind die Kürzel und der dazugehörige Text angeführt. Dieses Blatt kannst du ausblenden.
Wenn du in Tabelle1 in Spalte A ein Kürzel einträgst, wird es durch den entsprechenden Text ersetzt.
https://www.herber.de/bbs/user/67646.xls

Gruß Sepp

AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 16:32:40
Udo
Hallo Josef
Vielen Dank erstnam für Deine schnelle Hilfe.
Das in der Beispieldatei funktioniert ja klasse.
Aber leider kann ich nicht herausfinden, wie das funktioniert?
Ich kann kein Makro oder so finden.
Kannst Du das Geheimnis für mich lüften?
Oder mit einen Hinweis geben?
Gruß
Udo
Anzeige
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 16:35:37
Josef
Hallo Udo,

der Code befindet sich im Modul der Tabelle1. (Rechstklick auf das Blattregister > Code anzeigen)
Der Code sucht einfach das eingegebene Kürzel in Spalte A der Tabelle "AutoText" und ersetzt es durch den entsprechenden Langtext.

Gruß Sepp

AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 17:01:46
Udo
Hallo Josef
Ah feine Sache. Nun habe ich es auch gefunden :-)
Der Code erledigt dieses Ersetzen ja nun in der kompletten Spalte A.
Ich brauchte das nur für eine einzige Zelle.
Also so, dass das Austauschen der Kürzel durch die Langtexte eben nur in dieser einen Zelle stattfindet.
Da ich von VBA leider nicht so viel verstehe, habe ich es mal so probiert:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vntRet As Variant
With Target(1, 1)
If .Column = 1 Then 'Spalte der wirksamkeit 1=A
vntRet = Application.Match(.Value, Sheets("AutoText").B20, 0)
If IsNumeric(vntRet) Then
.Value = Sheets("AutoText").Cells(vntRet, 2)
End If
End If
End With
ErrExit:
Application.EnableEvents = True
End Sub
Das gibt aber natürlich gleich ne Fehlermeldung :-)
Könntest Du mir da vielleicht nochmal helfen?
Gruß
Udo
Anzeige
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 17:36:58
Josef
Hallo Udo,

da hast du an der falschen stelle angepasst;-))

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim vntRet As Variant
  With Target
    If .Address = "$B$20" Then 'nur in B20
      Application.EnableEvents = False
      vntRet = Application.Match(.Value, Sheets("AutoText").Columns(1), 0)
      If IsNumeric(vntRet) Then
        .Value = Sheets("AutoText").Cells(vntRet, 2)
      End If
    End If
  End With
  
  ErrExit:
  Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 19:03:10
Udo
Hallo Josef
Ah super, Vielen Dank.
Wie lege ich denn so einen Code in das Modul der ensprechenden Tabelle?
Gruß
Udo
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 19:06:22
Reinhard
Hallo Udo,
durch Doppelklick auf den jeweiligen Modulnamen.
Gruß
Reinhard
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 19:52:57
Udo
Hallo
Vielen Dank für Eure schnelle und tolle Hilfe.
Nun funktioniert alles genau so, wie ich es mir gewünscht habe.
Gruß
Udo
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 19:04:14
Reinhard
Hallo Sep :-)
Match ist gut, bringt aber Fehler wenn nix gefunden wird.
ErrExist ist gut, bringt aber nur was wenn auch irgendwo oben ein On Error Goto... steht.
Gruß
Reinhard, rumstalking wegen dem t :-))
@Reinhard : Unter XL2007 kein Fehler mehr
30.01.2010 19:14:56
NoNet
Hallo Reinhard,
Dein Einwand scheint mir berechtigt, zumindest kann ich mich erinnern, dass ich unter Excel 2003 immer zuerst prüfe, ob der Wert überhaupt im Suchbereich enthalten ist :
If Application.CountIf(Sheets("AutoText").Columns(1), .Value)>0 then
Freundlicherweise ist das unter Excel 2007 nicht mehr nötig, hier funktioniert Sepps Code einwandfrei !
Kannst Du das bitte mal unter Deiner Excel-Version (welche ist das ?) testen ? - Vielen Dank.
Gruß, NoNet
Anzeige
AW: @Reinhard : Unter XL2007 kein Fehler mehr
30.01.2010 19:22:59
Reinhard
Hallo NoNet,
hatte ich vorher gemacht bzw.an sich weiß ich das, bevor man Match oder vlookup einsetzt muß man mit Countif vorher abprüfen.
Ich habe XL2000
Gruß
Reinhard
Unter XL2003 getestet...
30.01.2010 19:27:38
robert
Hi NoNet,
ich habe Sepp's lösung mit XL 2003 getestet, kein problem-funkt.
gruß
robert
OK, danke ! - Liegt wohl an Variant-Variable _oT
30.01.2010 19:45:40
NoNet
_oT = "ohne Text"
funzt auch unter Office XP, es sei denn ...
30.01.2010 19:38:36
Tino
Hallo,
die Tabelle "AutoText" ist nicht vorhanden.
Gruß Tino
AW: Langen Autotext mit Leerzeilen einfügen
30.01.2010 19:31:08
Josef
Hallo Reinhard

du hast recht, ich habe das On Error... vergessen, aber weil ich auf "IsNumeric(vntRet)" teste, kommt trotzdem kein Fehler;-))

Gruß Sepp

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige