Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1904to1908
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
07.11.2022 13:03:25
Dieter
Hey all,
Leider habe ich Hier im Board o. Google nichts gefunden fürs Problem.
Ich habe eine Combobox mit Feiertagen erstellt. Jetzt möchte ich das die dazu gehörigen Feiertagen
darunter angezeigt werden. Das klappt soweit auch ohne VBA, aber ich möchte diese Leerzeilen dazwischen
weg bekommen und dachte mir es geht über VBA besser.
Leider ist da das selbe Problem, und der Code bleibt immer hängen mit Fehler.
Hat vielleicht jemand eine Lösung für mich ?
Ich danke schon mal im Voraus dafür.
https://www.herber.de/bbs/user/156069.xlsm
Gruß
Dieter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ohne VBA
07.11.2022 13:21:33
Rudi
Hallo,
=WENNFEHLER(AGGREGAT(15;6;Tabelle2!$B$3:$B$28/(Tabelle2!$A$3:$A$28="x");ZEILE(A1));"")
Die Bezeichnungen dann mit SVERWEIS()
Gruß
Rudi
AW: ohne VBA
08.11.2022 12:58:32
Dieter
Hey Rudi,
Erst einmal Danke für die Formel.
Hab sie eingefügt und bekomme auch das Datum.
Ich weiß im Moment nicht was Du meinst mit der Bezeichnung Sverweis
Gruß
Dieter
AW: Formel in VBA
07.11.2022 13:26:25
Daniel
HI
das geht auch vollständig ohne Code.
Die Combobox bleibt so wie sie ist mit Ausgabezelle in C1 auf Tabelle2
In Tabelle2 lässt du dir in Spalte A nicht "x" ausgeben, sondern die Zeilennnummer, wenn in der jeweiligen Bundeslandspalte ein "x" steht.

=WENN(INDEX(D3:S3;1;VERGLEICH($C$1;$D$2:$S$2;0))="x";ZEILE();"")
In Tabelle1 schreibst du dann diese Formeln in C5 und ziehst sie so weit nach unten wie du Feiertage in der Liste hast und eine Spalte nach rechts:

=WENNFEHLER(INDEX(Tabelle2!B:B;KKLEINSTE(Tabelle2!$A:$A;ZEILE(A1)));"")
Code wird hier dann nicht benötigt.
Du könntest die Combobox auch durch das Auswahlfeld der Gütligkeitprüfung - Liste ersetzen.
Gruß Daniel
Anzeige
AW: Formel in VBA
08.11.2022 13:01:53
Dieter
Hey Daniel,
Danke für die Formel die wunderbar klappt.
Nur weiß ich im Moment nicht die Combobox auch durch das Auswahlfeld der Gütligkeitprüfung - Liste ersetzen.
was Du damit meinst.
Gruß Dieter
AW: Formel in VBA
07.11.2022 14:23:27
snb
Lösche alle deine Makros, und Modul1
Im Tabelle1 Makromodul:

Private Sub CommandButton1_Click()
Range("C5:D40").ClearContents
sn = Tabelle2.Range("A3:C28")
For j = 1 To UBound(sn)
If sn(j, 1) = "x" Then c00 = c00 & j & " "
Next
st = Application.Transpose(Split(Trim(c00)))
Cells(5, 3).Resize(UBound(st), 2) = Application.Index(sn, st, Array(2, 3))
End Sub

Anzeige
AW: Formel in VBA
08.11.2022 13:06:05
Dieter
Hey snb,
Vielen Dank für Deinen Code, der auch wunderbar klappt,
Nur Frage, was wie wo im Code müßte ich ändern, das er mir das
an einer anderen Zeile Spalte einfügt.

   For j = 1 To UBound(sn)
If sn(j, 1) = "x" Then c00 = c00 & j & " "
Next
st = Application.Transpose(Split(Trim(c00)))
Cells(5, 3).Resize(UBound(st), 2) = Application.Index(sn, st, Array(2, 3))
Könntest Du mir den Code ein wenig erklären zum verstehen ?
Danke im Vorraus
Dieter
AW: Formel in VBA
11.11.2022 17:05:14
Piet
Hallo
der Code stammt von snb, ein exellenter Programmierer! Erklären kann ich ihn nicht!
Wenn du das Ergebnis an anderer Stelle einfügen möchtest ändere bitte mal diesen Teil: - Cells(5, 3)
Cells(5, 3) (Zeile 5, Spalte 3) entspricht - Range("C5"), Resize vergrössert den Bereich nach unten und rechts
Statt Cells(z, s) für Zeile/Spalte kannst du mit Range() die direkte Zelladresse angeben. Probier es einfach mal aus.
mfg Piet
Anzeige
AW: Formel in VBA
12.11.2022 12:42:47
Dieter
Hey Piet,
Danke für Deine Erklärung, werde es mal versuchen
es da zu ändern.
Danke
Mfg.
Dieter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige