Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1344to1348
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
Inhaltsverzeichnis

(WENN(UND))-Formel mit VBA

(WENN(UND))-Formel mit VBA
09.01.2014 16:12:40
Thomas
Hallo zusammen,
ich habe tausende "(wenn(und))-Formeln in dem Bereich I7:NJ101.
Lässt sich das mit VBA schöner lösen?
Vielen Dank im Voraus für eure Mühe!
https://www.herber.de/bbs/user/88744.xlsm
Schöne Grüße
Thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: (WENN(UND))-Formel mit VBA
09.01.2014 16:32:43
Rudi
Hallo,
VBA ist i.d.R. langsamer als Formeln.
etwas schneller dürfte das berechnet werden:
=WENN(I$5&gt=$C7;WENN(I$5&lt=$D7;$F7;"");"")
Gruß
Rudi

AW: (WENN(UND))-Formel mit VBA
09.01.2014 16:34:40
Thomas
Hallo Rudi,
danke für deine Antwort.
Es wäre dennoch eine VBA-Lösung hilfreicher für mich, da ich später auch in dem Bereich Zellen löschen und einfügen möchte. Wird dann mit den Formeln problematisch.
Grüße
Thomas

AW: (WENN(UND))-Formel mit VBA
10.01.2014 15:27:51
fcs
Hallo Thomas,
eine VBA-Lösung kann wie folgt aussehen.
Die Aktualisierung der Daten ab Zelle I7 erfolgt dann auf Anforderung des Anwenders; z.B nach Ändern/Ergänzen von Daten in den Spalten C, D oder F
Hierzu im Tabellenblatt eine Schaltfläche aus den Formularsteuerelementen einfügen und dieser das Makro zuweisen.
Gruß
Franz
'Makro in einem allgemeinen Modul der Datei
Sub AktualisierenTerminuebersicht()
' Formeln Makro
Dim wks As Worksheet
Dim Zeile_L As Long, Spalte_L As Long
Dim Zeile_1 As Long, Spalte_1 As Long
Dim Zelle As Range, StatusCalc As Long
Set wks = ActiveWorkbook.Worksheets("Terminübersicht") ' - ggf. anpassen
'Makrobremsen lösen
With Application
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
With wks
With .Range("I7")       '1. Zelle mit Formel zur Berechnung von B/U/"" - ggf. anpassen
Zeile_1 = .Row
Spalte_1 = .Column
End With
'Letzte Datenspalte
Spalte_L = .Cells.Find(What:="*", after:=.Cells(1, 1), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByColumns, Searchdirection:=xlPrevious).Column
'Letzte Datenzeile
Zeile_L = .Cells.Find(What:="*", after:=.Cells(1, 1), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, Searchdirection:=xlPrevious).Row
If Zeile_L >= Zeile_1 And Spalte_L >= Spalte_1 Then
'Altdaten löschen
With .Range(.Cells(Zeile_1, Spalte_1), .Cells(Zeile_L, Spalte_L))
.ClearContents
End With
End If
'Letzte Datenspalte
Spalte_L = .Cells.Find(What:="*", after:=.Cells(1, 1), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByColumns, Searchdirection:=xlPrevious).Column
'Letzte Datenzeile
Zeile_L = .Cells.Find(What:="*", after:=.Cells(1, 1), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, Searchdirection:=xlPrevious).Row
If Zeile_L >= Zeile_1 And Spalte_L >= Spalte_1 Then
With .Range(.Cells(Zeile_1, Spalte_1), .Cells(Zeile_L, Spalte_L))
'Formel einfügen
'=WENN(I$5>=$C7;WENN(I$5=RC3,IF(R5C

Anzeige

324 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige