Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Werte/ Formeln in Formularfeldern ersetzen?
07.10.2006 18:09:18
Heiko
Werte/ Formeln in Formularfeldern ersetzen?
Über Ansicht Symbolleisten Formular füge ich ein ein Kombinationsfeld oder Kontrollkästchen.
Mit rechter Maustaste auf das Element und Steuerelementformatieren unterlege ich gültigen Bereich. und da auch die Zellverknüpfung.
Die angegeben Zellverknüpfung wird in der Bearbeitungsleiste angezeigt! und diese will ich änden.
Jetzt habe ich ein Datenblatt A mit etlichen solcher Elementen die sich auf die Daten1 beziehen. Dann soll sich das Datenblatt B auch auf die selbe Datenbasis beziehen! Das erreiche ich in dem Ich für B die Tabelle Daten2 nutze
Aber duch kopieren des Blattes bleiben die Bezüge auf Daten1
Dieses möchte ich jetzt automatisch ändern: Daten1 durch Daten2 ersetzen.
Für Formeln geht das mit ersetzen! Aber wie geht das bei diesen Elementen?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 12:23:00
fcs
Hallo Heiko,
A. manuell
1. Aktiviere die Symbolleiste "Zeichnen"
2. Klicke den Auswahlpfeil in der Symbolleiste, so dass dieser aktiv ist.
3. Jetzt kannst die Kombinationsfelder auswählen.
entweder bei gedrücker linker Maustaste einen Rahmen um die Kombinationsfelder ziehen (dabei dürfen im Rahmen nur Kombinationsfelder enthalten sein!)
oder
bei gedrückter Shift-Taste die Kombinationsfelder mit Links-Taste-Mausklicks nacheinander zur Auswahl hinzufügen.
4.Dann via rechter Maustaste-Formatieren Steuerelement den Listenbereich festlegen.
B. Per Makro (sinnvoll wenn diese Aktion öfters durchgeführt werden muss

Sub ListenbereichDropDownBoxen()
'Listenbereich der Kombinationsauswahlfelder (Formular) im Blatt ändern
Dim Element As Shape, Listenbereich As String, Zelle As Range
Set Zelle = ActiveCell
Listenbereich = InputBox("Listenbereich: " & vbLf & vbLf _
& "z.B. $A$1:$A$20 , Tabelle2!$A$1:$A$20 oder auch einen Bereichnamen", _
"Listenbereich Kombinationsauswahlboxen")
If Listenbereich = "" Then Exit Sub
For Each Element In ActiveSheet.Shapes
If Element.Type = msoFormControl Then
If Element.FormControlType = xlDropDown Then
Element.Select
Selection.ListFillRange = Listenbereich
End If
End If
Next Element
Zelle.Select
End Sub

Gruss
Franz
Anzeige
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 13:25:31
Heiko
Danke für das Makro!
Aber bei mir passiert gar nichts?
Ich gebe in die Inputbox den Datenbereich ein
Tabelle2!$A$1:$L$60
und dann ist das Makro schon zu Ende!
Auch müsste ich doch festlegen können welches Wort ersetzt werden soll und wodurch?
Manuell ist klar!" Aber ist halt sehr umständlich!
Am Freitag habe ich 3 Stunden die Zellverknüpfungen verändert!
und das wir noch öfters vorkommen........
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 14:24:12
fcs
Hallo Heiko,
dass nichts passiert kann ich mir nicht vorstellen. Das Makro ersetzt im aktiven Blatt für alle ComboBoxen aus der Symbolleiste "Formular" den Listenbereich durch den eingegebenen Text. Dies allerdings ohne jede Rückfrage, ggf. kommt eine Fehlermeldung wenn die Eingabe einungültiger Zellbereich ist.
Ich hab das Makro jetzt mal so umgestrickt, dass es ähnlich funktioniert wie dein Makro zur Änderung von Formeltexten.
Die Zeile mit "Substitute" (bei mir unter EXCEL97 funktioniert "Replace" noch nicht) kannst du deaktivieren und die ensprechende Replace-Zeile verwenden.
Gruss
Franz

Sub ListenbereichDropDownBoxen()
'Listenbereich der Kombinationsauswahlfelder (Formular) im Blatt ändern
Dim Element As Shape, Listenbereich As String, Zelle As Range
Set Zelle = ActiveCell
For Each Element In ActiveSheet.Shapes
If Element.Type = msoFormControl Then
If Element.FormControlType = xlDropDown Then
Element.Select
Listenbereich = Selection.ListFillRange
MsgBox Element.Name & ": " & Listenbereich, , "alter Listenbereich"
'          Listenbereich = Replace(Listenbereich, "Tabelle1", "Tabelle2")
Listenbereich = Application.WorksheetFunction.Substitute(Listenbereich, "Tabelle1", "Tabelle2")
Selection.ListFillRange = Listenbereich
MsgBox Element.Name & ": " & Listenbereich, , "neuer Listenbereich"
End If
End If
Next Element
Zelle.Select
End Sub

Anzeige
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 18:16:33
Heiko
Danke! Es wird schon besser ...
Dafür ich habe jetzt den Fehler gefunden! Auch beim ersten!
Und zwar ersetzt das Makro den Eingabebereich!
Es muss aber die Zellverknüpfung ersetzt werden!
Denn das ist das entscheidende da ich dann auch verschiedene Werte einstellen kann!
Der Eingabebereich ist ja nur dafür da was in der Dropdown angezeigt wird, aber die Zellverknüpfung brauche ich zur Zuordnung der Werte!
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 19:22:27
Heiko
hiertmit klappts
Selection.LinkedCell
Aber wie spreche ich die Check box an?
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 19:32:53
Heiko
leider doch noch nicht!!!
Das Problem ist die Zellverknüfpung wird umbenannt! Leider bleibt aber nicht die verknüpfte Zelle bestehen, sondern dort wird des Eingabebereichs genommen!
z.B.
Eingabebereich: Daten!$I$14:$I$16
Zellverknüpfung: Tabelle3!$I$19
Dann wende ich Makro an : Tabelle3 umbenennen in XXX
und es kommt raus
Eingabebereich: Daten!$I$14:$I$16
Zellverknüpfung: XXX!$I$14:$I$16
Anzeige
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 19:37:49
Heiko
!!!!!!!!!!!!!!!!!! Geht doch!!!!!!!!!!!!!!!!!!
Sorry!!!!!
Bleibt nur noch das Problem mit der Checkbox
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 19:50:16
Heiko
Danke Dir!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Checkbox wars einfach und jetzt klappt alles so wie ich das wollte!!!
Danke für die Unterstützung
AW: Werte/ Formeln in Formularfeldern ersetzen?
08.10.2006 13:33:29
Heiko
Hiermit durchsuche ich "normale Felder" um Wörter zu ersetzen, wenn ich nicht den Befehl Ersetzen nutze

Sub Formel_durchsuchen()
Dim alteFormel As String
Dim Zelle As Range
For Each Zelle In ActiveSheet.UsedRange
If Zelle.HasFormula = True Then
MsgBox Zelle.Formula, , "alte Formel"
alteFormel = Zelle.Formula
Zelle.Formula = Replace(alteFormel, "Tabelle1", "Tabelle2")
MsgBox Zelle.Formula, , "neue Formel:"
End If
Next Zelle
End 

Sub
Das klappt Jetzt habe ich mal geschaut was passiert wenn ich per Makro die Formularfelder anklicke:
ActiveSheet.Shapes("Drop Down 17").Select
ActiveSheet.Shapes("Check Box 3").Select
und dies Drop down und Check box solle jetzt Wörter ersetzen, Jetzt nicht bei dieser speziellen sondern bei allen von 1- 120. Denn so viele habe ich auf dem Blatt.

Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige