ich möchte in eine über =ADRESSE() ermittlete Zelle etwas schreiben lassen. Sprich ich hab in einer Zelle die Position der Zelle enthalten, in die ich schreiben möchte. Über =INDIREKT() kann ich den Inhalt der besagten Zelle auslesen, ich möchte jedoch in diese Zelle schreiben, nicht lesen. Aktuell habe ich in einer Zelle $C$35 stehen und möchte über eine Funktion oder Befehl, dass der Inhalt dieser Zelle ($C$35) inkrementiert wird.
Gibt es dazu eine Funktion, also als Gegenspieler zu =Indirekt() oder wie könnte ich das umsetzen?
Ich habe selbst nichts gefunden, vermutlich weil ich nicht die richtigen Schlagworte verwendet habe, da ich in Excel ziemlich unerfahren bin.
03.06.2018, 15:42 (Dieser Beitrag wurde zuletzt bearbeitet: 03.06.2018, 16:11 von RPP63.
Bearbeitungsgrund: Formelfehler eliminiert ;)
)
Moin! Eine Formel kann nichts in eine andere Zelleschreiben, sondern nur aus ihr lesen! Aber wenn Du doch den Text $C$35 durch die Funktion =ADRESSE(35;3) ermittelst, verstehe ich Dein Anliegen ohnehin nicht!
Mittels VBA wäre es ein einfaches Cells(35, 3) = "XXX"
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28 • JohnDee
Zitat:Über =INDIREKT() kann ich den Inhalt der besagten Zelle auslesen, ich möchte jedoch in diese Zelle schreiben, nicht lesen.
habe ich dich richtig verstanden, dass du die ausgelesene Zelle aus einer anderen heraus befüllen willst? Falls ja: Nein!! Zumindest geht das nicht mit Formeln; ob per Makro (falls du das einsetzen kannst/willst/darfst) etwas möglich ist, müssen dir die VBA-Spezialisten sagen.
Gruß Günter Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen. angebl. von Georg Christoph Lichtenberg (1742-1799)
Folgende(r) 1 Nutzer sagt Danke an WillWissen für diesen Beitrag:1 Nutzer sagt Danke an WillWissen für diesen Beitrag 28 • JohnDee
03.06.2018, 17:05 (Dieser Beitrag wurde zuletzt bearbeitet: 03.06.2018, 17:05 von RPP63.)
Da ich gerade in Erklärbär-Laune bin: Das Zeichen 61 des ASCII-Zeichensatzes (landläufig als Gleichheitszeichen "=" bekannt), hat in Excel incl. VBA drei völlig verschiedene Bedeutungen. A) Excel
Ein = als erstes Zeichen zeigt Excel, dass eine Formel folgt. Will man dieses Zeichen als Textbeginn darstellen, muss man dies durch ein vorangehendes Hochkomma ' kenntlich machen *)
Ein eventuelles zweites = behandelt einen Vergleich zweier Terme, der einen Wahrheitswert wiedergibt. Hier gilt das Kommutativgesetz! :21: =A5=5 ist das Gleiche wie =5=A5 und liefert WAHR, wenn in A5 eine 5 steht.
B) VBA
Eine (echte) Codezeile darf niemals mit einem = beginnen!
Das erste = ist hier kein Vergleich, sondern eine Zuweisung! Bei Range("A1") = Range("B1") erhält A1 den Wert von B1 Das Kommutativgesetz gilt hier nicht! Denn Range("B1") = Range("A1") bedeutet, dass B1 den Wert von A1 erhält.
Folgt ein weiteres =, dann bleibt das erste die Zuweisung, das zweite ist wiederum ein Vergleich Range("A1") = Range("B1") = Range("C1") schreibt ein FALSCH in A1, wenn B1<>c1 ist.
Alle Klarheiten beseitigt? :19:
*) Zusatz: Statt des = akzeptiert Excel auch ein + als Beginn einer Formel! Niemand würde zwar +heute() in eine Zelle schreiben, obwohl man sich die Umschalttaste sparen könnte, die zum Schreiben von = notwendig ist. Allerdings gebrauche ich dies häufig, um mal schnell eine Berechnung in einer Zellemittels Ziffernblock durchzuführen, ohne den Taschenrechner hervorzukramen: +37,5/365,25+18 Enter ergibt völlig korrekt 18,102669 In der Bearbeitungsleiste steht dann übrigens =37,5/365,25+18
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28 • JohnDee
Erstmal herzliches Dankeschön für die vielen Antworten!
Zitat:habe ich dich richtig verstanden, dass du die ausgelesene Zelle aus einer anderen heraus befüllen willst? Falls ja: Nein!! Zumindest geht das nicht mit Formeln; ob per Makro (falls du das einsetzen kannst/willst/darfst) etwas möglich ist, müssen dir die VBA-Spezialisten sagen.
Ok, dann weiß ich schonmal, dass ich das so nicht machen kann.
Zitat:Eine Formel kann nichts in eine andere Zelleschreiben, sondern nur aus ihr lesen!
Aber wenn Du doch den Text $C$35 durch die Funktion =ADRESSE(35;3) ermittelst, verstehe ich Dein Anliegen ohnehin nicht!
Ich bekomme $C$35 durch =ADRESSE(G10;F10) und wollte durch Eingabe einer Funktion in eine beliebige Zelle in Zelle $C$35 schreiben. Aberr wenn eine Formel aus anderen Zellen nur lesen kann, hat sich das wohl erübrigt.
Hintergrund ist, ich lese ein Textfile ein, welches 2 Zahlen liefert, die die "Koordinaten" darstellen in welche Zellen ich etwas bestimmtes schreiben möchte. Über =ADRESSE() konnte ich aus den "Koordinaten" die entsprechende Zelle ermitteln.
Ich werde mich wohl oder übel in VBA einarbeiten müssen, um dieses Problem lösen zu können.
Viele Grüße und Danke John
PS: noch mal Credits an den Erzählbären für die ausführliche Antwort
@Frogger: Ich habe deinen Vorschlag angeschaut. Die gelieferte Adresse gibt die Position der gesuchten Zahl wieder. Die Adresse, dich ich suche wird jedoch aus 2 Zahlen zusammengesetzt, die in verschiedenen Zellen stehen.
Mal bisschen was zu der Aufgabe... Mit einem Makrorekorder nehme ich Mausbewegugen und Klicks auf. Dieser Recorder speichert jeden Klick mit dazugehörigen Klicks in einem File. Aus den Klicks soll ich eine "Heatmap" erstellen. Dazu habe ich die Koordinaten extrahiert und mir in eine Excel Postion umrechen lassen. Nächster Schritt wäre, jedes mal wenn ich eine Adresse ermittelt habe, deren Wert zu Inkrementieren. Am Ende werden die Werte der Matrix (die die Klicks wiederspiegelt) farbkodiert. Sprich für jedes vorkommen derselben Adresse, soll der Wert dieser Adresse inkrementiert werden.
Tabelle 1 zeigt in klein, was am Ende herauskommen sollte.
Während ich die Aufgabe zusammengefasst habe, ist mir erst aufgefallen, dasses zig andere Möglichkeiten geben muss, diese umzusetzen :)
Eine Formel, die zählt, wie oft ein bestimmter Inhalt in einer Spalte vorkommt, würde vermutlich reichen. Dass ich in allen Elemente der Matrix, die ich mit Werten fülle, abfrage, wie oft deren Adresse in Spalte H vorkommt. Vielleich weiß ja einer, mit welcher Formel ich das ganze erschlagen kann.
Ich habe viel zu kompliziert gedacht :/
Ich muss mich erst noch an die Denkweise von Excel einarbeiten. PS: an der Extrahierung der Koordinaten werdet ihr sehen, was ein blutiger Anfänger ich in Excel bin.