Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Formel in VBA
13.02.2007 09:05:28
Jürgen
Hallo Zusammen,
ich habe ein für mich noch nicht lösbares Problem, was für die Profis unter Euch sicherlich kein Problem darstellen wird.
In einer Tabelle soll mittels Makro folgendes ausgeführt werden:
Wenn in Spalte "A" Inhalt, dann folgende Formel in Spalte "B" (gleiche Zeile):
=WENN(ISTZAHL(VERGLEICH($A2;list2;0))=WAHR;"";"fehlt")
Die Suchmatrix "List2" ist ein Bereich (Spalte "A") auf einem anderen Tabellenblatt; das Suchkriterium "$A2" muss ich natürlich auf die aktuelle Zeile beziehen!
Die Daten beginnen ab Zeile "2", der letzte Datensatz ist variabel, so um die Zeile 12000, kann aber auch stark nach oben und unten schwanken. Da die Daten regelmäßig aktualisiert werden d.h. komplett erneuert werden, soll die Formel immer nur auf Wunsch erzeugt werden.
Vielen Dank schon mal vorab
Jürgen aus Berlin

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in VBA
13.02.2007 11:54:40
fcs
Hallo Jürgen,
hier mein Lösungsvorschlag. Makro im VBA-Editor in ein Modul der Datei kopieren.
Tabelle wählen in der die Formeln erzeugt werden sollen, dann Makro starten.

Sub FormelSpalteB()
Dim wks As Worksheet, Zeile As Long, Zelle As Range
Set wks = ActiveSheet 'oder ggf. auch = Worksheets("TabelleXYZ") 'dann geht's unabhängig vom aktiven Blatt
Zeile = 2 '1. Zeile mit Formel
With wks
'Alte Formeln in Spalte B löschen
.Range(.Cells(Zeile, 2), .Cells(.Rows.Count, 2).End(xlUp)).ClearContents
'Neue Formeln in Spalte B eintragen
Application.Calculation = xlCalculationManual
For Each Zelle In .Range(.Cells(Zeile, 1), .Cells(.Rows.Count, 1).End(xlUp))
If Not IsEmpty(Zelle) Then
Zelle.Offset(0, 1).FormulaLocal = "=WENN(ISTZAHL(VERGLEICH($A" & Zelle.Row & ";list2;0))=WAHR;"""";""fehlt"")"
End If
Next
Application.Calculation = xlCalculationAutomatic
End With
End Sub

Gruß
Franz
Anzeige
AW: Formel in VBA
13.02.2007 12:12:31
Jürgen
Danke Franz,
es funktioniert prima. Super auch Dein Hinweis
"...'oder ggf. auch = Worksheets("TabelleXYZ")"...,
somit kann ich sogar in unterschiedlichen Tabellen abgeänderte Formeln zuweisen.
Nochmals vielen vielen Dank
und Grüße aus Berlin
Jürgen

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige