Office: (Office 2007) Wenn funktion in VBA

Helfe beim Thema Wenn funktion in VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich habe da ein kleines Problem, wie kann ich dieses Funktion =WENN(F19="";G19;F19) in VBA Code umwandeln? Im VBA bin ich grad nicht... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von xGT86, 16. November 2015.

  1. xGT86 User

    Wenn funktion in VBA


    Hallo zusammen,

    ich habe da ein kleines Problem, wie kann ich dieses Funktion =WENN(F19="";G19;F19) in VBA Code umwandeln? Im VBA bin ich grad nicht der beste. Hoffe jemand kann mir helfen.


    MfG
    xGT86
     
  2. fette Elfe Erfahrener User
    Hallo xGT86,

    ohne nähere Infos kann ich Dir nur ein Schema zeigen, und Dein Screenshot hilft dabei auch nicht wirklich ;O)

    Code:
    if .cells(19,6) = "" then
       .cells(Deine Zielzelle) = .cells(19,7)
    else
       .cells(Deine Zielzelle) = .cells(19,6)
    end if
     
    fette Elfe, 16. November 2015
    #2
  3. Exl121150 Erfahrener User
    Hallo xGT86,

    die 2. Möglichkeit - anstelle der direkten Wertzuweisung, wie sie dir von Fette Elfe exemplarisch dargestellt wurde - besteht in der Erzeugung einer Formel mittels VBA:
    Code:
      '.....
      ActiveCell.Formula = "=IF(F19="""",G19,F19)"
      '....
    
    Dieser VBA-Code speichert in der aktiven Zelle folgende Formel:
    =WENN(F19="";G19;F19)


    Wie auch immer, du wirst dich entscheiden müssen. Und ohne gewisse Mindestkenntnisse in VBA-Programmierung wirst du auf dem Gebiet des IF-Handlings nicht weiterkommen, denn hierfür ist auch der Makrorekorder ungeeignet. Dieser kann sonst sehr hilfreich sein, wenn man auf die Schnelle sehen will, welchen (Roh-)Code Excel für ein bestimmtes Problem benötigt.
     
    Exl121150, 16. November 2015
    #3
  4. xGT86 User

    Wenn funktion in VBA

    Hallo zusammen,

    erstmals Vielen dank für die Antworte

    ich habe beide Lösungen probiert aber sie funktionieren leider nicht, bei der Lösung von fette Elfe kommt eine Fehlermeldung "Unzulässiger oder nicht ausreichend definierter Verweis (.Cells wird gelb markiert)" und bei der Lösung von Exl121150 wird der Code in meinem Zielfeld hineingefügt.

    so sieht meine Tabelle (Hoffe das hilft dieses mal, wenn man eine Excel Datei hochladen kann würde ich die Datei Hochladen)
    Wenn funktion in VBA testmappe.jpg

    Vielleicht war ich oben nicht ganz genau, im Prinzip muss ich die Nummern in einem Feld kriegen d.h. wenn die Zeile von Feld Nummer leer ist und im Feld Nummer2 eine Nummer steht soll er sie übernehmen. Bei der Angabe oben habe ich auch einen Fehler gefunden es sollte eigentlich so aussehen =wenn(D2="";E2;"").

    Ich habe dies auch mit dieses Code
    With Range("C2")
    .FormulaLocal = _
    "=Wenn(D2;E2)"
    .Value = .Value
    End With

    probiert aber klappt auch nicht

    Ich hoffe ich habe meinen Problem besser geschildert

    Vielen dank im Voraus

    LG
    xGT86
     
    Zuletzt bearbeitet: 23. November 2015
  5. Exl121150 Erfahrener User
    Hallo,

    natürlich geht das und sollte auch gemacht werden:
    Neben dem Button "Antworten" rechts unten gibt es den Button "Erweitert". Klickt man auf diesen, werden weitere Checkbox/Combobox/Buttons sichtbar - mit dem Button "Anhänge verwalten" kann man den Upload von Beispieldateien ins Forum durchführen.
     
    Exl121150, 23. November 2015
    #5
  6. xGT86 User
    Hallo zusammen,

    im Anhang habe ein Teil von meinem Datei hinzugefügt im Prinzip sieht es so aus nur die Nummern sind nicht gleich.

    hoffe das Hilft weiter

    LG
    xGT86
     
    Zuletzt bearbeitet: 23. November 2015
  7. Exl121150 Erfahrener User
    Hallo,

    ich habe deine Beispieldatei modifiziert und in einem allgemeinen Codemodul "Modul1_Userfunctions" die benutzerdefinierte VBA-Funktion "WennLeer(...)" eingefügt.
    Im Arbeitsblatt "Tabelle1" habe ich in Spalte H ("VBA_Funktion") diese neue Funktion eingebaut. Diese lautet zB. für Zelle H2:
    =WennLeer(G2;F2)
    Wie du leicht feststellen kannst, erzeugt diese exakt die gleichen Werte wie deine Arbeitsblattfunktionen in Spalte B, zB. in Zelle B2:
    =WENN(F2="";G2;F2)
     
    Zuletzt bearbeitet: 23. November 2015
    Exl121150, 23. November 2015
    #7
  8. xGT86 User

    Wenn funktion in VBA

    Hallo Exl121150,

    Vielen dank für deine Hilfe ihr werde dies Morgen in meinem Hauptdatei einfügen.


    Falls was schief läuft sag ich dir bescheid.

    Schönen Abend noch :)

    LG
    xGT86
     
  9. xGT86 User
    Hallo,

    ich habe wieder einen Problem, wie kann ich es Starten? Wenn ich auf Start gehe passiert nichts und wenn ich es mit Sub Probiere steht dort immer das End Sub erwartet wird obwohl ich es drin habe. Gibt es noch eine andere Möglichkeit dies auszuführen?

    LG
    xGT86
     
  10. Exl121150 Erfahrener User
    Hallo,

    ich kann mich nicht erinnern, dass ich in meinem letzten Posting in der Excel-Datei "xGT86_WennFormel.xlsm" irgendwo "Sub..." bzw. "End Sub" im Makro verwendet hätte.

    Code:
    Public Function WennLeer(WertFallsLeer As Variant, Wert As Variant) As Variant
      If Wert = "" Then
        WennLeer = WertFallsLeer
      Else
        WennLeer = Wert
      End If
    End Function
    
    Du musst außerdem diese Public Function in ein allgemeines Codemodul platzieren, so wie ich es getan habe. Dann ist sie in allen Arbeitsblättern verwendbar wie eine eingebaute Excel-Arbeitsblattfunktion.
     
    Exl121150, 24. November 2015
    #10
  11. xGT86 User
    Hallo,

    es hat super funktioniert.

    Vielen dank

    LG
    xGT86
     
Thema:

Wenn funktion in VBA

Die Seite wird geladen...
  1. Wenn funktion in VBA - Similar Threads - funktion VBA

  2. Array-Funktion mit VBA in Zelle schreiben

    in Microsoft Excel Hilfe
    Array-Funktion mit VBA in Zelle schreiben: Hallo zusammen, ich bin begeisterter Nutzer der neuen Array-Funktionen in Excel 365. Ich möchte mit VBA so eine Funktion in eine Zelle schreiben. Bei "normalen" Formeln habe ich das immer so...
  3. Hilfe bei VBA-Programmierung

    in Microsoft Excel Hilfe
    Hilfe bei VBA-Programmierung: Hallöchen zusammen, ich bräuchte mal wieder eure Hilfe. Diesmal geht es um ein VBA-Programm bzw. -Funktion. Folgender Sachverhalt: Ich habe Rohdaten in einer Textdatei, die ich mir in Excel...
  4. Outlook VBA NewMail Funktion Problem

    in Microsoft Outlook Hilfe
    Outlook VBA NewMail Funktion Problem: Hallo zusammen, ich möchte aus eingehenden E-Mails Anlagen in einem vorgegebenen Order abspeichern. Ich habe mir dazu ein Makro aus dem Netzt gemopst - zugegebenermaßen- was genau das kann....
  5. Funktion soll Wert in Variable übergeben (VBA)

    in Microsoft Excel Hilfe
    Funktion soll Wert in Variable übergeben (VBA): Hallo Forum-Gurus, ich bräuchte kurz Eure Hilfe. Anscheinend bin ich auf den Kopf gefallen. Folgende Funktion habe ich programmiert und möchte das Ergebnis nun in einer andere Private Sub...
  6. E-Mail Funktion mail auslesen VBA Anfänger

    in Microsoft Excel Hilfe
    E-Mail Funktion mail auslesen VBA Anfänger: Hallo, ich habe über das Internet mir einen Code zusammengebastelt. Code: Sub EmailManuellAbsenden() Application.DisplayAlerts = False Dim objOutlook As Object Dim objMail As Object Dim olApp As...
  7. VBA Funktion Range in Array umwandeln

    in Microsoft Excel Hilfe
    VBA Funktion Range in Array umwandeln: Liebe Alle! Ich hab folgendes Problem. Ich möchte ein Funktion die Zahlen in einer Range übernimmt und dann in ein Array kopiert / umwandelt. Code: Option Explicit Public Function...
  8. Funktion in Excel-VBA nutzen

    in Microsoft Excel Hilfe
    Funktion in Excel-VBA nutzen: Hallo, ich habe einige Zeit nichts mehr mit der VBA-Programmierung gemacht. Da scheint sich einiges geändert zu haben. Ich dachte mir, ein allgemeiner Funktionsaufruf funktioniert immer noch...
  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