Office: Zellen per Makro Formel zuweisen

Helfe beim Thema Zellen per Makro Formel zuweisen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, habe folgende Formel in U2 stehen: =WENN(W2="";"";(R2&S2&"-"&T2)) Wie stelle ich es an, dass diese Formel per Makro automatisch in die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von timi, 16. Mai 2008.

  1. timi Erfahrener User

    Zellen per Makro Formel zuweisen


    Hallo,
    habe folgende Formel in U2 stehen:

    =WENN(W2="";"";(R2&S2&"-"&T2))

    Wie stelle ich es an, dass diese Formel per Makro automatisch in die Zelle U2 geschrieben wird, wenn in W2 und fortlaufend was drinsteht. Ansonsten soll die Zelle U2 ohne Inhalt/leer bleiben

    If Range("W2:W1000") = "" Then
    ???
    Else
    ???

    Und natürlich für alle anderen Zellen in der Spalte fortlaufend:

    =WENN(W3="";"";(R3&S3&"-"&T3))
    =WENN(W4="";"";(R4&S4&"-"&T4))
    usw.

    Gruß Timi
     
  2. schatzi Super-Moderator
    Hallo!

    Reicht es nicht, wenn in die Zellen die entsprechenden Werte eingetragen werden, oder wozu brauchst du die Formel?
    Die WENN-Abfrage kannst du dir ja eh sparen, denn das wird ja schon durch den Code abgefragt.
    Code:
    Sub test()
    Dim i As Integer
    For i = 2 To 1000
    If Not IsEmpty(Cells(i, 23)) Then Cells(i, 21) = _
    Cells(i, 18) & Cells(i, 19) & "-" & Cells(i, 20)
    Next i
    End Sub
     
    schatzi, 16. Mai 2008
    #2
  3. timi Erfahrener User
    Hallo und sei gegrüßt!

    Das Problem ist die Eingabemaske, die Du, wie ich mittlerweile weiß, sehr liebst!
    :lol:

    Wenn die Formeln bereits in den Zellen stehen, ( Bsp. von U2 - U100 ), dann meldet mir die Eingabemaske diese Zeilen als belegt. Beim Drücken auf "Neu" wird mir dann Pos. 101 angezeigt. Würden die Formeln zu diesem Zeitpunkt noch nicht drinstehen, sondern erst nach Eingabe eines Wertes in W2, würde die Maske die Zeilen nach und nach abklappern ( 2 dann 3 dann 4 usw. )

    Gruß Timi
     
  4. schatzi Super-Moderator

    Zellen per Makro Formel zuweisen

    Hallo!

    Ach ja, die Maske... :evil:

    Reicht es dir denn trotzdem mit den Werten?
    Sonst musst du die Formeln mit "Formula" (englisch) oder "FormulaLocal" (deine Excel-Sprache) eintragen lassen und ein bischen basteln:

    Cells(i, 21).Formula = "=IF(" & Cells(i, 23).Address & "="""",""""," & ...usw.
     
    schatzi, 17. Mai 2008
    #4
  5. timi Erfahrener User
    Habe Diese folgende Anweisung integriert und sie funktioniert.
    Leider stand Excelchen absolut still. Nix ging mehr! Mit Strg - Alt - Entf abgewürgt. Kam sonst nicht mehr raus!

    Sub test()
    Dim i As Integer
    For i = 2 To 1000
    If Not IsEmpty(Cells(i, 23)) Then Cells(i, 21) = _
    Cells(i, 18) & Cells(i, 19) & "-" & Cells(i, 20)
    Next i
    End Sub

    Ist diese Anweisung zuviel für Excelchen? Scheint sich daran verschluckt zu haben? Atemstillstand! Exitus!

    Gruß Timi
     
  6. schatzi Super-Moderator
    Nanü?

    Das dürfte nicht einmal zu viel für einen C64 sein...
    Hast du noch irgendwelche Ereignis-Codes parallel laufen, die dazwischenfunken könnten?
    Ansonsten die Holzhammer-Methode:
    Runterfahren > Hochfahren > nochmal versuchen

    Oder hat Excel etwa den Virus erkannt, den ich da mit rein programmiert habe??? :-D :-D :-D
     
    schatzi, 17. Mai 2008
    #6
  7. timi Erfahrener User
    Ja, die C64, das waren noch robuste Teile!!!

    Nee, habe diesen Code hier angehängt!

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Zelle As Range
    If WorksheetFunction.CountA(Range("W2:W1000")) > 0 Then
    For Each Zelle In Range("W2:W1000").SpecialCells(xlCellTypeConstants)
    If IsEmpty(Zelle.Offset(0, -4)) Then Zelle.Offset(0, -4) = Year(Date)
    Next Zelle
    End If
    Dim i As Integer
    For i = 2 To 1000
    If Not IsEmpty(Cells(i, 23)) Then Cells(i, 21) = _
    Cells(i, 18) & Cells(i, 19) & "-" & Cells(i, 20)
    Next i

    End Sub

    Und Excelchen war regungslos!

    Geht es vielleicht auch hiermit? das man diese Anweisung evtl. so umschreibt, dass immer wieder die vorhergehende Zelle runterkopiert wird, aber wie gesagt, nur wenn in Zelle W2 und folgende was drinsteht. Weiß leider nicht, wiesich das beimLöschen einesEintrags durch die Maske :evil: bemerkbar macht. Vielleicht ist ja auch ein Fehler in der 1. Version oben? Die wäre mir lieber!

    Range("U2").Select
    Selection.AutoFill Destination:=Range("U2:U3"), Type:=xlFillDefault
    Range("U2:U3").Select
     
  8. schatzi Super-Moderator

    Zellen per Makro Formel zuweisen

    Hallo!
    Das weiß wohl nicht mal Billy Gates persönlich...

    Aber der Winterschlaf von Excel macht Sinn, denn dieser Code wird jedes Mal aufgerufen, wenn eine Änderung im Blatt vorgenommen wird, und sei es durch den Code selbst! Das heißt, durch jede Änderung im Blatt durch den Code wird der Code erneut von vorne aufgerufen.
    Das kann im Extremfall (also deinem Fall) eben endlos werden...

    Teste mal dies:
    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False 'XXXXXXXXXXXXXXXX
    Dim Zelle As Range
    If WorksheetFunction.CountA(Range("W2:W1000")) > 0 Then
    For Each Zelle In Range("W2:W1000").SpecialCells(xlCellTypeConstants)
    If IsEmpty(Zelle.Offset(0, -4)) Then Zelle.Offset(0, -4) = Year(Date)
    Next Zelle
    End If
    Dim i As Integer
    For i = 2 To 1000
    If Not IsEmpty(Cells(i, 23)) Then Cells(i, 21) = _
    Cells(i, 18) & Cells(i, 19) & "-" & Cells(i, 20)
    Next i
    Application.EnableEvents = True 'XXXXXXXXXXXXXXXX
    End Sub 
    Dadurch wird dieses Verhalten temporär aufgehoben.

    PS: Evtl. macht es auch Sinn, den Bereich vorher zu löschen:
    Range("W2:W1000").ClearContents
    Aber das weißt du am besten...
     
    schatzi, 17. Mai 2008
    #8
  9. timi Erfahrener User
    VOLLTREFFER!

    Was bedeutet Verhalten temporär aufgeschoben? In wie fern? Wie lange?

    Wenn Du es jetzt noch schaffst, die Anweisung so zu erweitern, dass wenn ich W2 usw. lösche, dann auch U2 usw, mitgelöscht wird, dann wäre es perfekt!!!!
     
  10. timi Erfahrener User
    HALT - STOP!
    Vergiß' die letzte Frage mit dem Löschen!
    Dummer Fehler von mir.
    Wird ja durch die Maske mitgelöscht! War die ganze Zeit manuell; ohne Maske unterwegs!!

    Auf jeden Fall, VIELEN DANK!!!
     
  11. schatzi Super-Moderator
    Hallo!

    EnableEvents = Ereignisse zulassen
    Zu Beginn des Codes wird diese Einstellung auf "False" gesetzt, am Ende wieder auf "True". Für die Laufzeit des Codes wird sie also deaktiviert.

    Wegen des Löschens probier mal
    Range("U2:U1000"):ClearContents
    Da hatte ich mich eben in der Spalte vertan...
     
    schatzi, 17. Mai 2008
    #11
  12. schatzi Super-Moderator
    zu langsam...
     
    schatzi, 17. Mai 2008
    #12
Thema:

Zellen per Makro Formel zuweisen

Die Seite wird geladen...
  1. Zellen per Makro Formel zuweisen - Similar Threads - Zellen Makro Formel

  2. Speichern mit dem Titel der Zelle A2

    in Microsoft Excel Hilfe
    Speichern mit dem Titel der Zelle A2: Moin moin, Ich habe per Makro einen Arbeitsablauf aufgezeichnet der soweit auch funktioniert. Dieser Endet jedoch im "Speichern Unter" Fenster, welches durch das Klicken von "Drucken als PDF"...
  3. Überprüfen ob Tabellenballt mit Namen aus Zelle vorhanden ist

    in Microsoft Excel Hilfe
    Überprüfen ob Tabellenballt mit Namen aus Zelle vorhanden ist: Da ich VBA noch nicht so lange benutze komme ich doch gerade an meine Grenzen. Ich möchte überprüfen ob es ein Bestimmtes Tabellenblatt gibt im Tabellenblatt "GK" in P1 steht der zu überprüfende...
  4. Makro: Zeichen in Zelle zählen

    in Microsoft Excel Hilfe
    Makro: Zeichen in Zelle zählen: Hallo zusammen. Ich merke gerade wie eingestaubt meine ohnhin noch nie ausgeprägten VBA-Kenntnisse sind. Vielleicht ist einer von euch so nett mir auf die Sprünge zu helfen. Ich versuche mir ein...
  5. Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben

    in Microsoft Excel Hilfe
    Kontrollkästchen (mehrere) Makro kopieren, Problem: Zellen nicht gegenseitig überschreiben: Hallo zusammen, ich arbeite gerade an einer Vereinfachung für Bestellungen. Ich habe es hingekriegt, dass Kontrollkästchen an zu wählen sind und dann bestimmte Informationen kopiert werden. Jetzt...
  6. Makro starten, wenn Wert einer bestimmten Zelle sich durch Formel ändert

    in Microsoft Excel Hilfe
    Makro starten, wenn Wert einer bestimmten Zelle sich durch Formel ändert: Hallo, ich habe schon eine Stunde im Netz herum gesucht und finde keine befriedigende Lösung für folgendes Problem: Es soll automatisch ein Makro gestartet werden, wenn sich der Wert einer...
  7. Formel oder Makro die den Inhalt von mehreren Zellen zusammenverknüpft und auswertet

    in Microsoft Excel Hilfe
    Formel oder Makro die den Inhalt von mehreren Zellen zusammenverknüpft und auswertet: Hallo Leute, ich habe ein Problem und hoffe, dass einer hier im Forum weiterhelfen kann. Es befinden sich mehrer Excel-Tabellen im Netzwerk verteilt. Ich möchte aus jeder Excel-Tabelle...
  8. [Excel 2007]: Makro bezug auf Zelle, die Formel enthält

    in Microsoft Excel Hilfe
    [Excel 2007]: Makro bezug auf Zelle, die Formel enthält: Hallo Zusammen, ich bin absoluter Anfänger was das programmieren von VBA´s angeht, habe es aber irgendwie doch geschafft ein Makro zu erstellen welches Zeilen einblendet, wenn in einer...
  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.
    Information ausblenden