Anzeige
Archiv - Navigation
1520to1524
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 wechsel

Text wechsel
05.11.2016 22:03:40
Jögg
Hallo Miteinander,
ich suche eine Möglichkeit durch einen Klick in eine verbundene Zell den darin stehenden Text in einen Zweiten zu tauschen, das Gleiche sollte dann aber auch wieder zurück gehen. Nochmals vereinfacht eine verbunde Zelle mit Text, klick darauf es erscheint ein anderer text, klick darauf der ertse Text steht wieder drin usw.
Kann mir da jemand helfen, bitte so einfach wie möglich.
Danke
Jögg

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text wechsel
06.11.2016 00:29:00
Mullit
Hallo,
da würd ich das DoubleClick-Event nehmen, dann im Prinzip so:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
If .Address = Cells(1, 1).MergeArea.Address Then '// hier li. obere Zelle mit Wort  _
anpassen...
Cancel = True
With .Cells(1, 1)
.Value = IIf(.Value = "Hallo", "Moin", "Hallo")
End With
End If
End With
End Sub

Gruß, Mullit
Am einfachsten wäre es wohl, ...
06.11.2016 02:04:31
Luc:-?
…Jögg,
wenn du beide AlternativTexte in der VerbundZelle unterbringen würdest, denn die besteht ja aus mindestens 2 Zellen, von denen aller­dings immer nur der Inhalt der ersten angezeigt wird. Man kann aber auch die anderen Zellen mit Inhalten füllen. Sogar MatrixFmln lassen sich unterbringen, nur darf man sie dann nicht einfach per Formatierung bilden, sondern muss ein fertiges Verbund­Zellen­Format mit dem Format­Pinsel über­tragen. Du benötigst also irgendwo im Blatt noch eine Muster­Zelle, zB eine ganz normale Spalten­Über­schrift, wenn diese exakt genauso formatiert ist, wobei sie natürlich nur einen (bzw keinen) Text enthalten muss.
Nur das Format ist für alle Zellen einer Verbund­Zelle gleich. Die Seiten- und Höhen­Aus­rich­tung des Textes kann auch nicht nach­träg­lich geän­dert wdn, sondern muss schon in der Muster­Ver­bund­Zelle ein­ge­stellt sein.
Wenn diese Voraussetzungen erfüllt sind, kannst du mit folgender Ereig­nis­Pro­zedur des Blattes arbeiten:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const adMuster$ = "A1:B1"   'anpassen!
If Target.MergeCells Then
If Target.Count = 2 Then
Target.UnMerge
Target = Split(Target.Cells(2) & Chr(0) & Target.Cells(1), Chr(0))
Me.Range(adMuster).Copy
Target.PasteSpecial xlPasteFormats
Application.CutCopyMode = xlNone
End If
End If
End Sub
Falls du mal etwas an dieser VbZelle ändern musst, kannst du mit der folgd Prozedur die Ereignis­Reaktion vor­über­gehend ab- und später wieder anschal­ten:
Sub EventFlipFlop()
With Application
.EnableEvents = Not .EnableEvents
End With
End Sub
Morrn, Luc :-?
Anzeige
AW: Text wechsel
06.11.2016 12:59:55
Jögg
Hallo erst mal Danke für die Antworten,
nur so ganz komme ich damit nicht klar, vieleicht habe ich mich auch falsch ausgedrückt.
Das Feld ist Teil eine Rechnungsformulares, der Platz ist fest und das Feld ist verbunden aus 6 Spalten und 4 Zeilen. In diesem Feld steht folgender Hinweiß:
"für Rückfragen: Max Mustermann
Tel. xxxx/xxxxx
oder
m.mustermann@muster.de"
Der Text ist im Feld zentriert ausgerichtet. Dieser Text soll per Klick umwechseln auf:
"für Rückfragen: Manuela Mustermann
Tel. xxxx/xxxxx
oder
manu.mustermann@muster.de"
Formatierung muss identisch bleiben.
Habt ihr noch einen Vorschlag?
Vielen Dank
Jögg
Anzeige
AW: Text wechsel
06.11.2016 14:18:38
Mullit
Hallo,
okidoki, vielleicht wirds jetzt klarer, das Doubleclick-Event ist immer etwas unempfindlicher, das Sel.Chg.-Event wird auch beim Navigieren der Pfeiltasten ausgelöst und denk daran in Deinen Verbundzellen den Zeilenumbruch zu aktivieren...
' ********************************************************************** 
' Modul: Tabelle1 Typ: Klassenmodul des Tabellenblattes '// anpassen.... 
' ********************************************************************** 

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 Dim strName As String, strTel As String, strMail As String
 With Target
     If .Address = Cells(1, 1).MergeArea.Address Then '// hier li. obere Zelle mit Daten/Text _
anpassen... 
       Cancel = True
       With .Cells(1, 1)
           If InStr(1, .Value, "Max Mustermann", vbTextCompare) <> 0 _
              Or .Value = vbNullString Then
               strName = "Manuela Mustermann"
               strTel = "xxxx/xxxxx"
               strMail = "manu.mustermann@muster.de"
           Else
               strName = "Max Mustermann"
               strTel = "yyyy/yyyyy"
               strMail = "m.mustermann@muster.de"""
           End If
           .Value = "für Rückfragen: " & strName & vbCrLf & _
                "Tel. " & strTel & vbCrLf & "oder" & vbCrLf & strMail
       End With
     End If
 End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Text wechsel
06.11.2016 16:57:01
Jögg
Hallo Mullit,
du bist mein Held, alles top, danke für die super Unterstützung, genau so wollte ich es.
Noch einen schönen Sonntag
Jögg
alles klar...top...owT
06.11.2016 19:56:41
Mullit
AW: Text wechsel
06.11.2016 14:25:55
Mullit
Hallo nochmal,
...uuups, hier natürlich nur ein Gänsefüßchen...
strMail = "m.mustermann@muster.de"

Gruß, Mullit
Du hattest wichtige Angaben nicht mitgeliefert, …
06.11.2016 19:07:25
Luc:-?
…Jögg,
und musst dich dann auch nicht wundern, wenn du AnpassungsArbeit leisten musst!
Trotzdem hätte dir das mit meiner Lösung ggf leichter fallen können als mit der von Mullit, denn du hättest nur die beiden unter­schied­lichen Texte in 2 Zellen der Verbund­Zelle (vor dem Verbund!) ein­tragen und die Muster­Verbund­Zelle anlegen müssen. Das wäre alle­mal univer­seller gewesen als Mullits Lösung, bei der du bei Änderungen in den PgmCode ein­greifen musst. Hättest du die Größe der Verbund­Zelle gleich mit­geteilt, wäre meine Lösung auch sofort ein­satz­fähig aus­ge­fallen.
Übrigens, hättest du die anfänglich verschwiegenen Einzelheiten wie formularartig aufgebautes Blatt gleich mit­geteilt, hätte ich dir emp­fohlen, nicht mit Verbund­Zellen, sondern mit 2 Text­feldern zu arbeiten, die exakt über­einander liegen. Dadurch wäre das Pgm noch kürzer aus­ge­fallen, denn ein Klick auf das jeweils oben­liegende Text­feld hätte es nur per Pgm in den Hinter­grund, also unter das andere ver­schieben müssen.
Aber du hast es so gewollt und darfst nun mit der unratio­nelleren und ggf pflege­inten­siveren Variante leben… :->
Luc :-?
Anzeige
AW: Du hattest wichtige Angaben nicht mitgeliefert, …
06.11.2016 19:26:32
Jögg
Hallo Luc,
sorry das ich nicht deine Variante bevorzugt habe, man muss sich halt für eine entscheiden.
Trotzdem Danke für deinen tollen Vorschlag, vielleicht bau ich ja nochmal um!
VG
Jögg
AW: Du hattest wichtige Angaben nicht mitgeliefert, …
06.11.2016 19:58:16
Mullit
Hallo,
..na, na, gaaanz sachte, bist wohl noch im Halloween-Modus und wurdest von kleinen Zombies erschreckt was...
Gruß, Mullit
Es sollte dir klar sein, …
07.11.2016 02:10:41
Luc
…Mullit,
dass mein 1.Vorschlag die elegantere und mein 2. die sinnvollere Variante gewesen ist bzw wäre.
Das Monster hast du abgeliefert! :-]
Gruß, Luc :-?
nope...muß es auch nicht...
07.11.2016 18:52:31
Mullit
....hab mit meinem Monster-Code, das seh ich genauso, ja ne Top-Vorlage geliefert, aber irgendwann findet auch dein Geprogge wieder Beachtung und du mußt nicht auf dreieinhalb Seiten begründen, wann dein Code wie, wo, unter welchen Bedingungen dann vielleicht mal funktionieren könnte, tatsächlich aber gar nix läuft...
So siehts nunmal aus....
So long, Mullit
Anzeige
Bei mir läuft der und die 2.Variante würde ...
10.11.2016 01:15:39
Luc:-?
…auch laufen, Mullit;
die konkreten Einsatzbedingungen waren uns beiden zum ZeitPkt des ErstPostens unbekannt.
🙈 🙉 🙊
Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige