Office: WENN/UND-funktion im VBA

Helfe beim Thema WENN/UND-funktion im VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich bin's mal wieder.. Ich habe folgendes Problem: und zwar habe ich eine WENN/UND - Funktion mit 9 Verschachtelungen. Dies geht... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von wuffi, 6. August 2007.

  1. wuffi Erfahrener User

    WENN/UND-funktion im VBA


    Hallo,

    ich bin's mal wieder..

    Ich habe folgendes Problem:

    und zwar habe ich eine WENN/UND - Funktion mit 9 Verschachtelungen.
    Dies geht schlecht mit der Formel, da nur sieben erlaubt sind und das + kann ich nicht gebrauchen, da er nichts zusammen zählen soll.

    Ich habe in der Spalte G einen Buchstaben (H,L oder M) und in der Spalte H eine Zahl (1,2 oder 3). Diese sollen in Spalte I zusammengefasst, ja nach Anzeige in G und H, angezeigt werden, z.b. Spalte I "H3".

    Ich hoffe das ist soweit verständlich.

    Das ganze soll nun über ein Makro automatisch laufen und das bekomm ich einfach nicht hin.

    Wie sieht der Code aus?
    Kann mir da jemand weiterhelfen??

    Viele Grüße
    Ela
     
  2. schatzi Super-Moderator
    Hallo!

    Reicht dir da nicht eine Verkettung?
    A1: Manno
    B1: Meter
    C1: =A1&B1 ergibt MannoMeter
     
    schatzi, 6. August 2007
    #2
  3. wuffi Erfahrener User
    Hallo,

    ja super, hab ich auch schon gefunden!!!

    Range("I7") = Range("G7") & "" & Range("H7")

    Brett vorm Kopf .... :roll:

    Jetzt hab ich nur noch ein problem: wie füge ich das ganze in eine Schleife?? Dies soll natürlich unendlich laufen.

    viele grüße
    ela
     
  4. schatzi Super-Moderator

    WENN/UND-funktion im VBA

    Hallo!
    Das glaube ich dir nicht... :-)

    Diese Schleife sucht alle Zellen in Spalte G, die einen festen Eintrag haben, und verkettet sie mit Spalte H in Spalte I:

    Code:
    Sub test()
    Dim zelle As Range
    For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
    Next zelle
    End Sub
     
    schatzi, 6. August 2007
    #4
  5. wuffi Erfahrener User
    das klappt super DANKE!!!!

    aber jetzt hab ich noch ein problem... sorry...

    ich habe das in dem arbeitsblatt eingefügt, in der hoffnung er macht das automatisch ... macht er aber nicht.... grummel
     
  6. schatzi Super-Moderator
    Dafür könntest du das ganze in ein Worksheet_Change-Ereignis einbinden:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim zelle As Range
    Application.EnableEvents = False
    For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
    Next zelle
    Application.EnableEvents = True
    End Sub
    Aber warum willst du darauf eigentlich mit VBA los??
    Wenn du's per Formel machst (=G7&H7), kannst du die Formel doch großzügig runterkopieren. Solange die Zellen leer sind, bleibt doch auch die Verkettung leer...
     
    schatzi, 6. August 2007
    #6
  7. wuffi Erfahrener User
    das hatte ich auch schon, problem was ich hatte, die felder sollten sich dementsprechend farbig hinterlegen und das ging dann leider nicht so einfach.... deswegen ...*seufz*

    ich habe noch was vergessen ....
    das ganze spielchen soll ein paar spalten weiter nochmal gestartet werden .... als O7 & P7 in Q7 auch wieder fast unendlich ;-) ...

    hab schon versucht zu erweitern, klappt natürlich nicht so wie ich mir das vorstelle .... :-(
     
  8. schatzi Super-Moderator

    WENN/UND-funktion im VBA

    Na, das kann doch nun nicht mehr schwer sein:

    For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)

    Warum 7?
    Weil G der 7. Buchstabe im Alphabet ist, also Spalte G die 7. Spalte ist.

    Und das ganze jetzt für Spalte O?
    Hmmm, knifflig, knifflig... :lol: :lol:
     
    schatzi, 6. August 2007
    #8
  9. wuffi Erfahrener User
    jau, hab ich schon probiert, klappt irgendwie nicht...
    aber ich bleibe dran und melde mich morgen noch mal...

    aber erstmal DANKE!!!!


    viele Grüße
    ela
     
  10. wuffi Erfahrener User
    hello,

    also ich bekomm es einfach nicht angepasst!!

    :-(
     
  11. schatzi Super-Moderator
    Wie sieht denn dein bisheriger Versuch aus?
     
    schatzi, 7. August 2007
    #11
  12. wuffi Erfahrener User
    hallo,

    also ich hab es mal so probiert:

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim zelle As Range
    Dim zelle1 As Range
    Application.EnableEvents = False
    For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
    Next zelle1.Columns(14).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
    Next zelle
    Application.EnableEvents = True

    End Sub

    dann hab ich es mal mit exit for probíert, geht auch nicht :-(
     
  13. schatzi Super-Moderator

    WENN/UND-funktion im VBA

    Die beiden Schleifen müssen hintereinander:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim zelle As Range
    Application.EnableEvents = False
    For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
    Next zelle
    For Each zelle In Columns(14).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
    Next zelle
    Application.EnableEvents = True
    End Sub
     
    schatzi, 7. August 2007
    #13
  14. wuffi Erfahrener User
    oh mann, das hatte ich auch schon, aber es hat nicht geklappt, weil ich spalten ausgeblendet habe und somit die falsche zeile angezogen habe ...
    *brettvormkopf*....

    ich hab jetzt aber wieder ein anderes problem... mein chef hätte gern statt m2, wie es jetzt angezeigt wird 2m.

    so geht das aber nicht, wenn ich umsetze zu

    For Each zelle In Columns(7).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)

    so

    For Each zelle In Columns(8).SpecialCells(xlCellTypeConstants)
    zelle.Offset(0, 1) = zelle & zelle.Offset(0, 2)

    dann hab ich immer nur die zahl aus spalte 8 stehen ...
    sorry, ich bin auch schon total genervt.
     
  15. schatzi Super-Moderator
    zelle.Offset(0, 2) = zelle & zelle.Offset(0, 1)
    wird zu
    zelle.Offset(0, 2) = zelle.Offset(0, 1) & zelle
     
    schatzi, 7. August 2007
    #15
Thema:

WENN/UND-funktion im VBA

Die Seite wird geladen...
  1. WENN/UND-funktion im 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