Formel per VBA nach IF-Abfrage in ganze Spalte schreiben

Diskutiere und helfe bei Formel per VBA nach IF-Abfrage in ganze Spalte schreiben im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo zusammen,die Frage sollte nicht so kompliziert sein, ich kriege es aber nicht ganz hin.Per VBA soll in alle Zellen von Spalte F eine Formel... Dieses Thema im Forum "Microsoft Office" wurde erstellt von PhilippM_170, 30. Oktober 2024 um 18:12 Uhr.

  1. Formel per VBA nach IF-Abfrage in ganze Spalte schreiben


    Hallo zusammen,die Frage sollte nicht so kompliziert sein, ich kriege es aber nicht ganz hin.Per VBA soll in alle Zellen von Spalte F eine Formel geschrieben werden, die sich auf die Spalten B, D und E bezieht. Das klappt soweit, wobei F2 die erste und r die letzte Zeile sind:Range"F2:F" & r.FormulaR1C1 = "=RC[-2]+RC[-1]/RC[-4]"Zusätzlich soll noch eine Wenn-Schleife durchlaufen werden. Die Formel soll jeweils nur geschrieben werden, wenn in Spalte B ein Wert größer Null steht, da es sonst eine Null-Division gibt. Etwas in dieser Art funktioniert nach Range nicht, die Spalte wird dann
     
  2. Claus Busch Win User

    VBA Formeln

    Hallo,



    wenn du das über Spalten machst, musst du halt Column nehmen anstatt Row.



    IIF ist wie If aber in einem Ausdruck. IIF funktioniert so: =IIF(Bedingung, true part, false part)

    Mod ist Rest. Damit habe ich getestet, ob die Zeilennummer ohne Rest durch 2 teilbar ist, also ob es eine gerade Zeilennummer ist.

    In der Formel dann

    =IIF(Zeilennummer durch 2 teilbar ohne Rest, dann Count-Formel, sonst Summenformel)



    Die jeweilige Adresse in der Spalte A ist die Adresse von rngC.offset(0,-1). Diese habe ich als Variable in die Formel eingegeben. Also Formel abgeschlossen mit Anführungszeichen, dann Variable eingesetzt und dann wieder die schließende Klammer der Formel
    mit & ")".

    Address hat dann noch die beiden Argumente für die Schreibweise. .Address(0,0) heißt, dass sowohl Zeile als auch Spalte relativ sein sollen.



    Ich würde beide Formeln mit einer If-Abfrage zusammenfassen. Dann hast du eine einheitliche Formel und nicht jede Zeile etwas anderes.



    Mit freundlichen Grüßen

    Claus
  3. Andreas Killer Win User

    sollte man excel 4.0 makros umwandeln?

    Kannst Du mir also eine Tipp geben? Kann man alte Excel 4.0 Makros tatsächlich "irgenwie automatisch" in VBA übersetzten lassen, oder ist das ein Märchen?
    Automatisches Umschreiben ist schon seit jeher ein Märchen, ich habe selber schon mal einen Konverter für Delphi nach VBA geschrieben um eine große Mathe-Unit zu übersetzen.

    Sowas funktioniert nur auf einer ganz grundlegenden Ebene, viele Sachen die in der einen Sprache möglich sind lassen sich nur schwierig oder überhaupt nicht in einer anderen realisieren.

    Also bleiben Dir 2 Möglichkeiten:

    a) Du installierst Dir eine virtuelle Maschine, z.B. Virtual Box von Oracle, installierst Dir ein WinXP und OfficeXP und lädst die Datei dort.

    b) Du schreibst Dein Programm mal neu, was nicht sooo schwierig ist.

    Also Deine Kästchen und alles in Ehren, aber so funktioniert heute kein Programm mehr und vieles läßt sich da viel einfacher machen. Eine Idee:

    Spalte A ist EN, Spalte B ist DE, Spalte C ist das Datum der letzten Abfrage, Spalte D und E ist ein Zähler für Richtig und Falsch beantwortet.

    Damit hast Du schon alle Informationen die nötig sind. Nun brauchst Du nur per Zufall eine Zeile auswählen, dann kannst Du je nach Datum und Zählerstand auswerten ob die Vokabel abgefragt werden soll oder nicht, z.B.: If Rnd() <= Richtig / Falsch Then ...

    Die Abfrage selber kann man mit einer Userform machen oder erst mal simpel mit InputBox/MsgBox.

    Zählerstand updaten, fertig.

    Bei der Neueingabe zu kucken ob es die Vokabel schon gibt ist trivial, Range.Find bietet da alle Möglichkeiten.

    Man kann dann auch schick optisch mit ein Diagramm darstellen wie viele Formeln richtig / falsch dargestellt wurden etc.... naja, kann man zum Schluß irgendwann machen.

    Wenn ich das so überlege, dann reduziert sich damit der ganze Aufwand auf vielleicht 50 bis 100 Zeilen Code, mehr braucht es nicht.

    Andreas.
  4. Claus Busch Win User

    VBA Formeln per Makro in Zellen schreiben

    Hallo Frank,

    sie Spalte X liegt hinter W und würde in die Summe mit einbezogen werden. Oder stehen die Werte W21:AD21 auf einem anderen Blatt?

    Wenn du mal die Syntax für eine Formel in VBA nicht kennst, gebe die Formel ins Blatt ein, selektiere dann die Formelzelle, wechsele in den VBA-Editor, öffne das Direktfenster und gebe dort ein:

    ?activecell.Formula

    Damit wird die die Formelsyntax angezeigt.

    Du musst die Funktion auch ins Englische übersetzen. Probiere es mal mit:

    .Range("X21:X" & LRow).Formula = "=SUM(W21:AD21)"

    Edit: Übrigens kannst du die vorherige Formel vereinfachen, um das UND aus der Formel zu bekommen. Probiere:

    =IF(A1<>"""",A1,IF(B1<>"""",B1,C1+D1))

    Claus
  5. Karl Donaubauer Win User

    Access Pace berechnen

    Hallo!

    Was genau ist dir unklar? Die benötigte Formel, um das auszurechnen, oder wo und wie du sie in Access verwenden kannst?

    Grundsätzlich kannst du z.B. in einer Abfrage oder in einem Formular sog. Ausdrücke, d.h. Formeln, verwenden. Ähnlich wie du das vielleicht aus Excel kennst. Mal am Beispiel einer Abfrage erläutert:

    1. erstelle eine neue Abfrage auf Basis deiner Tabelle
    2. im Abfrageentwurf füge alle Felder, die du sehen willst, unten ins Abfragegitter ein
    3. setze danach den Cursor in eine leere Spalte des Abfragegitters und schreib in der Zeile
      Feld deine Formel mit den Feldnamen rein, also sowas wie:

      Dauer / Kilometer
    4. wechsle in die Datenansicht der Abfrage und kontrolliere, ob in dieser berechneten Spalte der gewünschte Wert steht oder du noch etwas anpassen musst
  6. Karl Donaubauer Win User

    Access 2013, Abfrage berechnetes feld

    Hallo!

    Das ist das Standardverhalten von Access/ACE. Wenn in einer berechneten Spalte ein Alias aus der selben Abfrage verwendet wird, wird er im WHERE-Abschnitt (=Kriterium) nicht erkannt. Dabei ist es egal, wieviele Tabellen beteiligt sind.

    In deiner funktionierenden Abfrage dürfte strukturell etwas anders sein. Wenn du das klären willst, kannst du ja mal den SQL-Text der Abfrage hier posten.

    Die einzige Lösung ist jedenfalls, statt des Alias die 1. Berechnung in der 2. berechneten Spalte zu wiederholen (bzw. zumindest im WHERE-Abschnitt des SQL-Statements). D.h. anstelle von [Error_Abs] musst du nochmal die Berechnung in die 2. Formel schreiben.
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Formel per VBA nach IF-Abfrage in ganze Spalte schreiben - Microsoft Office

Die Seite wird geladen...

Formel per VBA nach IF-Abfrage in ganze Spalte schreiben - Similar Threads - Formel VBA Abfrage

Forum Datum

Excel - "umwandeln Formel in Text" auf ganze Spalten anwenden?

Excel - "umwandeln Formel in Text" auf ganze Spalten anwenden?: Ich möchte, nachdem ich eine Formel in Text umgewandelt habe F2 F9 enter diese Prozedur auf eine genze Spalte anwenden, ohne mich durch jede Zeile durchklicken zu müssen. Die Spalte markieren und...
Microsoft Office 24. April 2024

Formel in Zellen schreiben

Formel in Zellen schreiben: Hallo - habe schon mal was zu diesem Thema wissen wollen. Nun ist Zeit vergangen und bei einem anderen Projekt will es nicht klappen. Möchte eine Formel in einen Zellenbereich schreiben Dim...
Microsoft Office 20. März 2021

Steuerelement in IF Abfragen

Steuerelement in IF Abfragen: Hallo, seit geraumer Zeit schlage ich mich mit dem Problem von Inahltssteuerelementen in IF-Abfragen in Word 2016 herum. Da ich bisher selbst zu keiner zufriedenstellenden Lösung gekommen bin,...
Microsoft Office 5. November 2020

VBA Formeln per Makro in Zellen schreiben

VBA Formeln per Makro in Zellen schreiben: Hallo an die Profis!! Mein Problem ist diese Formel =WENNUNDR21="";U21="";Q21+T21;WENNR21<>"";R21;WENNU21<>"";U21 per Makro in die vorgesehene Zelle/Spalte zu schreiben. Mit dieser...
Microsoft Office 28. Oktober 2020

EXCEL VBA: Formel berechnen und Ergebnis als Wert in Zelle schreiben

EXCEL VBA: Formel berechnen und Ergebnis als Wert in Zelle schreiben: hallo, ich muss in einer Excel-Datei sehr viele Berechnungen durchführen, was sehr viel Berechnungszeit braucht. Ich möchte deshalb die Formeln aus der Datei entfernen, in dem ein Makro die...
Microsoft Office 17. Mai 2019

VBA Makro - Formel in Zelle schreiben

VBA Makro - Formel in Zelle schreiben: Zum Abschluss meines Sub Fahrzeuge () möchte ich die Formel {=MITTELWERT(WENN(P2:P156="";R2:R156))} der Zelle R1 im Tabellenblatt "Gebraucht" zuweisen. Habe schon so einiges probiert - aber...
Microsoft Office 3. Februar 2017

IF Formel mit mehreren Argumenten

IF Formel mit mehreren Argumenten: Hallo, ich verwende Word 2007 und habe ein Problem, das ich anhand folgender Formel erklären will. { IF { Feld1 } > 100 { Feld1 } { Feld2 } + { Feld1} } (unter Excel sähe die so aus:...
Microsoft Office 31. Oktober 2016
Formel per VBA nach IF-Abfrage in ganze Spalte schreiben solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.