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

Funktion zum Ändern einer anderen Zelle.

Funktion zum Ändern einer anderen Zelle.
19.02.2005 10:55:49
Horst
Hallo liebe VBA-Experten,
ich suche einen Weg, aus einer Zelle heraus - bei einer bestimmten Bedingung - den Wert einer anderen Zelle zu ändern.
Ich denke, dass dies nur mit einer VBA Procedur (Sub / Funktion / Klassen Modul ?) möglich ist. Kann mir bitte jemand Hilfestellung leisten ? Vielen Dank im Voraus.
Horst
AW: Funktion zum Ändern einer anderen Zelle.
19.02.2005 11:01:59
Xelleron
Hallo Horst,
folgendes ist direkt ohne VBA möglich:
=WENN(A1=X;"ja";"nein")
Formel in die Zelle schreiben, die sich ändern soll bei bestimmten Wert in A1.
Hoffe das ist es was Du suchst.
Gruß Dennis
AW: Funktion zum Ändern einer anderen Zelle.
ransi
hallo herbert
dafür gibt es ereignissprozeduren.
vereinfacht geht dein dein vorhaben z.B. so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Target.Value = 1 Then Range("b1") = "test"
End Sub

rechte maus auf den tabellenreiter
code anzeigen
in das fenster den code reinkopieren.
ransi
Anzeige
AW: Funktion zum Ändern einer anderen Zelle.
Horst
Hallo Dennis,
vielen Dank für die schnelle Antwort. Ich suche jedoch eine Möglichkeit aus der Zelle, in welcher die Formel oder Funktion steht, in einer ANDEREN Zelle den Wert zu verändern.
Gibt's dazu auch eine Lösung ?
Horst
AW: Funktion zum Ändern einer anderen Zelle.
19.02.2005 11:14:02
Xelleron
Also in Excel ist das nach meinem Wissen nicht möglich, aber ich bin nicht allwissend.
Wenn Du in eine Zelle "X" einen Wert hast, und in Zelle "Y" soll sich dann der Wert "Z" eingetragen werden, dann muß die Funktion/Formel auch in Zelle "Y" stehen.
Gruß Dennis
AW: Funktion zum Ändern einer anderen Zelle.
Horst
Hallo Ransi,
vielen Dank für den Code. Das sieht für mich als VBA-Laie schon gut aus. Ich bin Deiner Anweisung gleich gefolg aber leider tut sich nichts. Vermutlich habe ich was falsch gemacht.
Muss ich in der Parameterliste von "Private Sub Worksheet_Change(ByVal Target As Range)" irgend etwas ändern müssen? Woher hat die Routine den Verweis auf die Zelle A1 ?
In Zelle A1 hatte ich den Wert 1 eingegeben. Hätte dann nicht Dein "test" in B1 erscheinen müssen ?
Für weitere Hilfe wäre ich Dir sehr dankbar.
Horst
Anzeige
AW: beispieldatei
Horst
Super ! Jetzt klappt's.
Diese Routine ist sicherlich in vielen Fällen sehr nützlich. Dummerweise habe ich jedoch meinen Fall nicht genügend detailliert beschrieben. Die Einschränkung, dass man den Wert der Zelle manuell eingeben muss, bedeutet für mich noch nicht die endgültige Lösung meines Problems.
Meine Werte kommen automatisch über einen DDE-Link in mein Excel-Sheet, d.h. Zelle A1 würde ihren Wert bei mir automatisch ändern. Was nun ? - sprach Zeus.
Gibt es dazu evtl. auch noch eine Lösung ? Das wäre toll.
Nochmals vielen Dank soweit.
Horst
Anzeige
Private Sub Worksheet_Calculate()
ransi
hallo horst
dann brauchst du ein anderes ereigniss.
versuchs mal so:

Private Sub Worksheet_Calculate()
If Range("a1").Value = 1 Then Range("b1") = "test"
End Sub

ransi
Private Sub Worksheet_Calculate()&select case
ransi


      
hallo horst 
für den fall das für verschiedene werte 
in a1 
verschiedene werte 
in b1 schreiben willst, (soll ja mal vorkommen)
versuch mal dies:
Option Explicit
Private Sub Worksheet_Calculate()
Dim wert As String
Select Case Range("a1").Value
Case Is = 1
     wert = 
"Test"
Case Is = 2
     wert = 
"Noch ein Test"
Case Is = 3
     wert = 
"Und wieder ein Test"
'
'usw
'
Case Else: MsgBox "Versuchs nochmal !"
End Select
Range(
"b1") = wert
End Sub
ransi 


Anzeige
AW: Private Sub Worksheet_Calculate()
Horst
Ransi,
leider funktioniert auch Dein erweiterter Code noch nicht. Ich fürchte ich mache da was falsch, obwohl mein Vorgehen beim Laden des Code wohl richtig ist, denn Deine zweite Lösung läuft ja.
Woran kann's denn sonst noch liegen ?
Horst
F9
ransi
hallo horst
steht die berechnung auf "manuell"?
dann drück mal F9
oder:
ist der code ins richtige tabellenblatt eingefügt?
sonst hab ich keine idee mehr.. :-(
ransi
AW: beispieldatei
Horst
Hallo Ransi,
find ich toll, dass sich die "VBA-Gemeinde" so um einen Anfänger bemüht!
Doch nun zur Sache: Leider funktioniert es diesmal wieder nicht. Was kann ich falsch gemacht haben ?
Ich habe einfach den alten Code durch den neuen von Dir ersetzt, in Zelle A1 die Formel ' = A2 ' eingegeben um das automatische Füllen der Zelle zu simulieren, da ich z.Zt. nicht online über DDE verbunden bin.
Dann habe ich in Zelle A2 manuell die Zahl 1 eingegeben.
Ich habe die Zellen testweise sowohl als numerische als auch als Text Feld definiert.
In beiden Fällen tut sich in Zelle B1 nichts.
Gibt es dafür evtl. auch eine Erklärung ?
Gruß,
Horst
Anzeige
AW: beispieldatei
Horst
Hurra ! Es klappt.
Ransi, vielen Dank für Deine Hilfe. Das war großartig, wie Du Einsatz gezeigt hast.
Ich wünschte, ich könnte mich mal auf einem anderen Gebiet bei Dir revanchieren.
Jedenfalls werde ich mir Deinen Namen merken. Vielleicht kann man so gelegentlich (nicht ohne Hintergedanken für beide Seiten - haha) in Kontakt treten.
Schönes Wochenende und Gruß,
Horst
AW: Funktion zum Ändern einer anderen Zelle.
19.02.2005 12:04:03
Tinu
Hallo Horst,
vermutlich hast du irgendwo einen Fehler drin. Ich habe den Code kopiert und eingefügt und es läuft. Wenn es denn mal läuft solltest du noch eine Zeile einfügen:
If Target.Value 1 Then Range("b1") = "nicht wahr"
Sonst bleibt die Zelle B1 auf "test" wenn sie einmal gesetzt wurde.
Gruss
Tinu
Anzeige
AW: Funktion zum Ändern einer anderen Zelle.
Horst
Hallo Tinu,
das ist ein guter Vorschlag. Mir war auch sofort aufgefallen, dass man den Wert in Zelle B2 sonst ständig manuell löschen müsste. Vielen Dank für den Tipp. Als absoluter VBA Anfänger hätte ich dafür auch keine Lösung gewusst.
Wie Du meiner Antwort an Ransi entnehmen kannst, ufert mein Problem aber aus. Ich wusste nicht, dass es so wichtig ist, den Fall so genau zu beschreiben. Hab' so wieder was dazugelernt.
Danke für Deinen Beitrag.
Gruß,
Horst
freut mich wenn ich helfen konnte o.T.
ransi

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige