Registriert seit: 17.05.2019
Version(en): Office365
Huhu. Ich wollte in Excel eine Tabelle schreiben, in der sich die Werte von B ändern wenn A sich ändert.
Zum Beispiel:
A1 enthält eine beliebige Zahl von 1-10. Wenn nun in A1 zb. die 3 steht so ist es möglich in B1 etwas zu speichern. Wechselt A1 nun den Wert 4 so wird B1 leer und es ist wieder möglich etwas neues einzutragen. Gibt man nun wieder 3 ein so steht wieder der Wert den man ursprünglich eingetragen hat. Ich hoffe meine Fragestellung ist verständlich. Habe excel bisher nur sehr oberflächlich benutzt bin deshalb etwas unwissend
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
so was geht nur mit einem Makro. Darfst Du denn welche verwenden?
Wenn Du was vorheriges wieder haben willst, müsste man das auch irgendwo speichern.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 10.04.2014
Version(en): Microsoft 365, mtl. Kanal
Hi,
was willst du konkret erreichen? Ich fürchte fast, dass hier ein makro nötig sein wird.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Registriert seit: 17.05.2019
Version(en): Office365
17.05.2019, 13:30
(Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2019, 13:36 von morijane47.)
Ich habe zwar mal vor Jahren mit Vba gearbeitet (auch etwas eingerostet) aber mit Makros zu arbeiten ist mir noch komplett neu. Ich darf alles verwenden da es eine Tabelle für mich und meine Organisation von gewissen Daten ist die ich veranschaulicht darstellen möchte.
Ich stelle es wie folgt dar:
Spalte 1: Spalte 2: Spalte 3:
Kunde 1: / 1.,2.,3. / 15.5.2019 - 16.7.2019 , 18.8.2019- 30.8.2019 , 15.9.2019-31.10.2019
Spalte 1 soll die Namen enthalten. Spalte 2 soll eine Drop Down Liste mit den Werten von 1-X enthalten wobei X die Anzahl der Zeitintervalle ist und Spalte 3 soll in Abhängigkeit von 2 die jeweiligen Zeitintervalle anzeigen.
Registriert seit: 06.12.2015
Version(en): 2016
17.05.2019, 14:20
(Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2019, 14:22 von Fennek.)
Hallo,
als bekennender VBA-Fan:
Ist die Frage nicht mit "Choose" (dt:Wahl?) lösbar?
mfg
(ohne Kenntnis von #4)
Registriert seit: 17.05.2019
Version(en): Office365
17.05.2019, 14:23
(Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2019, 14:28 von morijane47.)
Vielleicht ein anderer Ansatz:
ich habe nun Tabelle A und Tabelle B.
In Tabelle B sind nun Zeilenweise die Daten der jeweiligen Kunden eingetragen welche in Tabelle A in einer Dropdownliste angezeigt werden sollen.
Für einen einzelnen Kunden bekomme ich dies hin. Nun habe ich aber 200+ Kunden. Kann ich innerhalb der Datenüberprüfung für Kunde 1-200 aus Tabelle A die jeweilige Zeile aus Tabelle B zuordnen. Manuell würde das ewig dauern. Gibt es einen Befehl der es mir ermöglicht:
Tabelle A Zelle X,1 (Datenübertragung mit Dropdownliste)->Tabelle B Zeile X ?
Liebe Grüße Mori
Geil! genau danach habe ich gesucht. Vielen Dank!
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
17.05.2019, 14:36
(Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2019, 14:38 von schauan.)
Hallöchen,
was Du da vor Jahren mit VBA gemacht hast, waren Makros.
Hier mal ein Beispiel fast anhand der ursprünglichen Aufgabenstellung. Aber <> und = bekommst Du an den richtigen Stellen getauscht?

Der vorherige Eintrag wird in C1 gespeichert.
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Variablendeklarationen
Dim b1Value
'Events deaktivieren
Application.EnableEvents = False
'Wenn in A1 was ge?ndert wurde, dann
If Target.Address = "$A$1" Then
'wenn es verschieden von 3 ist,
If Cells(1, 1).Value <> 3 Then
'dann alten Eintrag von B1 zurueckholen
Cells(1, 2).Value = Cells(1, 3).Value
'Ende wenn es verschieden von 3 ist,
End If
'Wenn in A1 nichts ge?ndert wurde, dann
'Wenn in B1 was ge?ndert wurde, dann
ElseIf Target.Address = "$B$1" Then
'neuen Inhalt uebernehmen
b1Value = Cells(1, 2).Value
'Aenderung Rueckgaengig machen
Application.Undo
'wenn in A1 3 steht, dann
If Cells(1, 1).Value = 3 Then
'alten Wert nach C1 uebertragen
Cells(1, 3).Value = Cells(1, 2).Value
'neuen Wert nach B1 zurueckschreiben
Cells(1, 2).Value = b1Value
End If
'Ende Wenn in A1 oder B1 was ge?ndert wurde, dann
End If
'Events aktivieren
Application.EnableEvents = True
End Sub
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
17.05.2019, 14:55
(Dieser Beitrag wurde zuletzt bearbeitet: 17.05.2019, 14:56 von Käpt'n Blaubär.)
Hallo,
Zitat:was Du da vor Jahren mit VBA gemacht hast, waren Makros.
jep, und vor Jahren wurden Makros auch noch auf Deutsch geschrieben.
Auch das ist seit Office '97 "im Mantel der Geschichte" verhüllt.