Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Formel ignorieren
#21
Besten Dank für die interessanten Erklärungen und den Link.

VBA kann ich leider nicht vertieft lernen, dazu fehlt mir die Zeit, auch brauche ich VBA viel zu wenig oft.

Ich kapituliere. Habe es mir zu einfach vorgestellt, mein Fehler, sorry.

Danke jedenfalls Schauan für die Mühe und die Geduld.

Gruss
Peter Pan
Antworten Top
#22
Hallo Peter,

Du müsstest auch nur das letzte nehmen und nicht beide. Ich hatte in der ersten Variante ja einen anderen Ansatz verfolgt und dann gab's ja noch eine kleine Änderung in Deiner Aufgabenstellung.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#23
Ach so! Vielen Dank! Das Wort "zusätzlich" hatte mich wohl verwirrt.

Ich verstehe allerdings besser, wie das erste Makro funktioniert.

Ich habe es mal so abgeändert, dass nicht das Datum das Kriterium ist, sondern ob die Zelle A2 leer ist oder nicht (Beilage).

Das scheint zu funktionieren! Wenn die Zelle A2 leer ist, wird (bei Ändern von A1) B2 übernommen, danach bleibt das Resultat. Oder liege ich damit falsch?

Ich habe A3 auf B2 genommen, weil wir das Makro weiterentwickeln müssen, so dass es für die ganze Spalte A gilt.

Zunächst sollte es noch so geändert werden, dass der Trigger nicht A1 ist, sondern das Öffnen des Blattes. Geht das?

Sorry, für all diese Windungen und Danke für Deine Geduld.

Peter


Angehängte Dateien
.xlsm   Test_Zirkelbezug_neu.xlsm (Größe: 17,32 KB / Downloads: 1)
Antworten Top
#24
Ich korrigiere: der Trigger kann so bleiben (A1).
Antworten Top
#25
Hallöchen,

mit diesem Makro würde die Spalte B abgearbeitet und wenn in der Nachbarzelle (Spalte A) nix steht, wird der Wert aus B übernommen - Wenn Du A1 änderst..
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Events deaktivieren
Application.EnableEvents = False
  'Wenn die Adresse $A$1 ist, dann
  If Target.Address = "$A$1" Then
    'Gehe bei Fehler zur Sprungmarke
    On Error GoTo errorhandler
    'Schleife bis zur letzten gefuellten Zelle in Spalte B
    For icnt = 2 To Cells(Cells(Rows.Count, 2).End(xlUp).Row, 2).Row
      'Wenn Zelle in Spalte A leer ist, dann uebernehme Wert aus Spalte B
      If Cells(icnt, 1).Value = "" Then Cells(icnt, 1).Value = Cells(icnt, 2).Value
    'Ende Schleife bis zur letzten gefuellten Zelle in Spalte B
    Next
  'Wenn die Adresse $A$1 ist, dann
  End If
errorhandler:
'Events aktivieren
Application.EnableEvents = True
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#26
Fabelhaft! Herzlichen Dank!

Werde versuchen, das in das reale Blatt einzubauen. Werde vermutlich noch Fragen haben. Blush


Beste Grüsse
Peter Pan
Antworten Top
#27
Hallo Schauan

Ich habe die Daten nun in die Spalten verschoben, die dem realen Blatt entsprechen (Beilage).

Zur Erläuterung: Es geht um Preise in verschiedenen Währungen, die in CHF umgerechnet werden sollen. Die Wechselkurse werden extern abgefragt und im Blatt Rates gespeichert.

Die Umrechnung beim Kaufdatum soll nachher nicht mehr verändert werden. Dieses Einfrieren nach dem Ersteintrag klappt perfekt!

Die Spalte L ist nun im Prinzip ein zusätzliche Hilfsspalte, die im realen Blatt ausgeblendet würde. Ich stelle mir vor, dass die Formel der Spalte in das Makro übernommen werden könnte, so dass die Hilfsspalte nicht nötig wäre. Liege ich richtig?

Ich sehe zudem, dass die Berechnung bei jeder Änderung irgendeiner Zelle ausgelöst wird. Ideal wäre, wenn sie nur bei einer Änderung in Spalte I ausgelöst würde (falls die Zeit für die Berechnung bei einem sehr großen Blatt ins Gewicht fällt).

Mit herzlichem Dank
Peter


Angehängte Dateien
.xlsm   Test_Zirkelbezug (4).xlsm (Größe: 21,22 KB / Downloads: 1)
Antworten Top
#28
Hallo Peter,

wenn die Zufallszahl später wieder weg kommt, musst Du eigentlich nix ändern. Ansonsten musst Du etwas Code dazwischen schieben, was die Spalte I betrifft. Das kommt nach den ...Events=False bis zu dem Teil mit $A$1

Ich hab da jetzt nur die Änderung von M2 programmiert. In der Zelle ist dann die Formel weg und es steht nur das Ergebnis. Du brauchst diese Zeile dann nur kopieren und 2x einfügen für N2 und O2 und das dann entsprechend den Zelladressen ändern.

Bekommst Du hin, oder?

Code:
Application.EnableEvents = False
  'Wenn die Spalte = I (9) ist, dann
  If Target.Column = 9 Then
    Range("M2") = Sheets("Rates").Range("C3") + Rnd
  'Ende Wenn die Spalte = I (9) ist, dann
  End If
  'Wenn die Adresse $A$1 ist, dann
  If Target.Address = "$A$1" Then
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#29
Hallo Schauan

Vielen Dank. Da haben wir uns wohl nicht ganz richtig verstanden.

Die Idee war, dass das Makro ausgelöst wird, sobald in Spalte I etwas neu eingetragen wird (Beilage, hier I8).

Sowie dass im Makro die Formel, die in der Hilfsspalte L stand, übernommen wird:


Code:
If Cells(icnt, 11).Value = "" Then Cells(icnt, 11).Value

=WENN(ISTZAHL(I8);WENN(B8="EUR";I8*EUR;WENN(B8="USD";I8*USD;WENN(B8="GBP";I8*GBP;I8)));"")

Ich habe das versucht, bin aber nicht klargekommen damit.

Beste Grüsse
Peter


Angehängte Dateien
.xlsm   Test_Zirkelbezug (5).xlsm (Größe: 20,89 KB / Downloads: 0)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste