Microsoft Excel

Herbers Excel/VBA-Archiv

Langen Autotext mit Leerzeilen einfügen | Herbers Excel-Forum


Betrifft: Langen Autotext mit Leerzeilen einfügen von: Udo Gerlach
Geschrieben am: 30.01.2010 15:57:58

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

  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Josef Ehrensberger
Geschrieben am: 30.01.2010 16:23:36

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



  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Udo Gerlach
Geschrieben am: 30.01.2010 16:32:40

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


  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Josef Ehrensberger
Geschrieben am: 30.01.2010 16:35:37

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



  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Udo Gerlach
Geschrieben am: 30.01.2010 17:01:46

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


  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Josef Ehrensberger
Geschrieben am: 30.01.2010 17:36:58

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



  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Udo Gerlach
Geschrieben am: 30.01.2010 19:03:10

Hallo Josef

Ah super, Vielen Dank.
Wie lege ich denn so einen Code in das Modul der ensprechenden Tabelle?

Gruß
Udo


  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Reinhard
Geschrieben am: 30.01.2010 19:06:22

Hallo Udo,

durch Doppelklick auf den jeweiligen Modulnamen.

Gruß
Reinhard


  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Udo Gerlach
Geschrieben am: 30.01.2010 19:52:57

Hallo

Vielen Dank für Eure schnelle und tolle Hilfe.
Nun funktioniert alles genau so, wie ich es mir gewünscht habe.

Gruß
Udo


  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Reinhard
Geschrieben am: 30.01.2010 19:04:14

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 :-))


  

Betrifft: @Reinhard : Unter XL2007 kein Fehler mehr von: NoNet
Geschrieben am: 30.01.2010 19:14:56

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


  

Betrifft: AW: @Reinhard : Unter XL2007 kein Fehler mehr von: Reinhard
Geschrieben am: 30.01.2010 19:22:59

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


  

Betrifft: Unter XL2003 getestet... von: robert
Geschrieben am: 30.01.2010 19:27:38

Hi NoNet,

ich habe Sepp's lösung mit XL 2003 getestet, kein problem-funkt.

gruß
robert


  

Betrifft: OK, danke ! - Liegt wohl an Variant-Variable _oT von: NoNet
Geschrieben am: 30.01.2010 19:45:40

_oT = "ohne Text"


  

Betrifft: funzt auch unter Office XP, es sei denn ... von: Tino
Geschrieben am: 30.01.2010 19:38:36

Hallo,
die Tabelle "AutoText" ist nicht vorhanden.

Gruß Tino


  

Betrifft: AW: Langen Autotext mit Leerzeilen einfügen von: Josef Ehrensberger
Geschrieben am: 30.01.2010 19:31:08

Hallo Reinhard


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



Gruß Sepp



Beiträge aus den Excel-Beispielen zum Thema "Langen Autotext mit Leerzeilen einfügen"