Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1540to1544
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

Formelergebnis mit Wert übersch. bei Bedinungen

Formelergebnis mit Wert übersch. bei Bedinungen
24.02.2017 22:06:06
Florian
Hi Zusammen,
Ich suche eine VBA Lösung für folgendes Problem:
Ich habe in einem Arbeitsblatt in den Zellen N5 bis N5000 eine relativ große und komplexe Formel die 4 verschiedene Ergebnisse ausgeben kann und zwar 0,1,2 oder 3.
Jetzt hätte ich gerne, das die Formel in den Zellen die das Ergebnis 1 oder 2 ausgibt mit dessen Wert überschrieben wird!
Ist sowas umsetzbar?
Vielen Dank im vorasu

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

Betreff
Datum
Anwender
Anzeige
AW: Formelergebnis mit Wert übersch. bei Bedinungen
24.02.2017 22:26:10
Sauron
Hallo Florian
Mit einer VBA-Schleife könntest Du das machen ("Tabelle1" musst du natürlich anpassen auf Deine --Datei):
For i = 5 To 5000
If Worksheets("Tabelle1").Range("N" & i) = 1 _
Or Worksheets("Tabelle1").Range("N" & i) = 2 Then
Worksheets("Tabelle1").Range("N" & i) = Worksheets("Tabelle1").Range("N" & i).Value
End If
Next i
Gruss
Top! funktioniert aber.....
24.02.2017 23:32:14
Florian
Hi,
erstmal Danke für die schnelle Antwort!
Der Code funktioniert einwandfrei.
Allerdings ist er schon eine Weile am laden, da die schleife ja 5000 Zeilen durchläuft. Gibt es da auch eine andere Möglichkeit?
Gruß Flo
Anzeige
Dann...
25.02.2017 10:16:36
Michael
...mach den Vergleich in einem Array und schreibe ggf. zurück:
Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim Ws As Worksheet: Set Ws = ActiveSheet
Dim Werte As Range, arr, i&
With Ws
Set Werte = .Range("N5:N5000")
arr = Werte
For i = LBound(arr) To UBound(arr)
If arr(i, 1) = 1 Or arr(i, 1) = 2 Then
.Cells(i + 4, 14) = .Cells(i + 4, 14).Value
End If
Next i
End With
End Sub
Das läuft in einer nicht mal wahrnehmbaren Zeit durch.
LG
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige