Anzeige
Archiv - Navigation
1916to1920
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Formel in VBA
21.01.2023 14:28:27
Dieter
Hey All,
Ich brauche mal wieder eine kleine Hilfe von Euch.
Diese Formel
{=WENNFEHLER(SVERWEIS(MIN(WENN(Geburtstag!A2:A30>=HEUTE();Geburtstag!A2:A30));Geburtstag;2;0);"") &"  "&SVERWEIS(MIN(WENN(Geburtstag!A2:A30>=HEUTE();Geburtstag!A2:A30));Alter;4;0) }
brauche ich bitte in VBA übersetzt.
Die Formel weißt mir den Namen und das Alter in bestimmten Zellen aus.
Wenn jemand eine kürzere Schreibweise der Formel kennt, bin ich auch nicht abgeneigt sie einzusetzen.
Vielen Dank im Voraus der Mühe.
Gruß
Dieter

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in VBA
21.01.2023 15:44:46
Piet
Hallo Dieter
Formeln kann man nicht 1:1 in VBA übersetzen. Wir brauchen normale Auswerte Logik.
D.h., was muss wo, in welcher Tabelle, in welcher Spalte gesucht und ausgewertet werden?
Nach welchen Kriterien im Sinne von: - Wenn, Wenn NICHt, Dann ... usw.
mfg Piet
AW: Formel in VBA
22.01.2023 10:28:17
Beverly
Hi Dieter,
"=IFERROR(VLOOKUP(MIN(IF(Geburtstag!A2:A30=TODAY(),Geburtstag!A2:A30)),Geburtstag,2,0),"""") &""  ""&VLOOKUP(MIN(IF(Geburtstag!A2:A30>=TODAY(),Geburtstag!A2:A30)),Alter,4,0)"
Beachte dabei, dass du sie als FormulaArray per VBA in die Zelle eintragen musst.
Bis später
Karin

Anzeige
AW: Formel in VBA
24.01.2023 16:04:24
Dieter
Hey All,
Danke Karin für die Formel, war für mich ein guter Lösungsvorschlag.
Boris, habe mir die Videos angeschaut, ist aber ein wenig schwierig für mich zu verstehen. Trotzdem Danke dafür.
Habe mir die Formel umgebaut das Sie funktioniert.
.FormulaR1C1Local = "=WENNFEHLER(SVERWEIS(ZS(-2);Geburtstag;2;FALSCH);"""")&"" ""&WENNFEHLER(SVERWEIS(ZS(-2);Alter;4;FALSCH);"""")"
Habe noch ein Code mit der Formel,
Private Sub CommandButton6_Click()
Dim sp
  Application.ScreenUpdating = False
  Application.EnableEvents = False
   Range("A3:X67").Interior.Color = -4142
 Range("C3:C33,G3:G33,K3:K33,O3:O33," & _
        "S3:S33,W3:W33,C37:C67,G37:G67,K37:K67,O37:O67,S37:S67,W37:W67").ClearContents
For Each sp In Array(3, 7, 11, 15, 19, 23)
    With Sheets("Kalender").Cells(3, sp).Resize(67 - 3 + 1, 1)
'          .FormulaR1C1Local = "=WENNFEHLER(SVERWEIS(ZS(-2);Feiertag;2;FALSCH);"""")&"" ""&WENNFEHLER(SVERWEIS(ZS(-2);Geburtstag;2;FALSCH);"""")" ' Feiert. u. Geburt anzeigen orginal
          .FormulaR1C1Local = "=WENNFEHLER(SVERWEIS(ZS(-2);Geburtstag;2;FALSCH);"""")&"" ""&WENNFEHLER(SVERWEIS(ZS(-2);Alter;4;FALSCH);"""")"   ' Geburtstag und Alter anzeigen
'geht farblich nicht'          .FormulaR1C1Local = "=WENNFEHLER(SVERWEIS(ZS(-2);Feiertag;2;FALSCH);"""")&"" ""&WENNFEHLER(SVERWEIS(ZS(-2);Geburtstag;2;FALSCH);"""")&"" ""&WENNFEHLER(SVERWEIS(ZS(-2);Alter;4;FALSCH);"""")"   ' Feiert. u.Geburtstag und Alter anzeigen
         
         .Formula = .Value
        .Replace " ", "", xlWhole
    If WorksheetFunction.CountA(.Cells) > 0 Then .SpecialCells(xlCellTypeConstants, 2).Interior.ColorIndex = 37
     End With
Next
        Sheets("Kalender").Range("L1, L35").Value = "Feier u. Geburtstags Kalender" & "   " & Range("W1")   'datum
          Application.ScreenUpdating = True
          Application.EnableEvents = True
Range("C1").Select
End Sub
Bei der Code Formel ' Feiert. u. Geburtstag und Alter anzeigen, weiß ich nicht warum er mir dann die
ganzen Spalten farblich markiert. Die anderen beiden Sverweise funktionieren wunderbar.
Hat da noch jemand eine Lösung für mich ?
Danke im Voraus der Mühe.
Gruß
Dieter
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige