Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
676to680
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
676to680
676to680
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro mit Formel läuft nicht

Makro mit Formel läuft nicht
05.10.2005 15:44:53
Gisela
Hallo,
ich füge in einer großen Tabelle eine Spalte ein und lass dann über eine Formel die Spalten B,F und G zusammenfügen.
Wenn ich die Formel mit der Hand eingebe und runterziehe, funktionierts.
Ich habe das ganze mit dem Recorder aufgenommen. Dann funktinierts nicht mehr. Es bleibt die Formel in den Zellen stehen und die Zellen haben auf einmal das Format TEXT. Eine Änderung der Formatierung bringt auch nichts.
Was muss ich da ändern?
Hier mal die beiden Formeln:
=WENN(A8="";"";B8&" "&"/"&" "&F8&","&" "&G8)
=IF(RC[-4]="","",RC[-3]&" "&"/"&" "&RC[1]&","&" "&RC[2])
Vielen Dank für die Hilfe
Grüße
Gisela

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit Formel läuft nicht
05.10.2005 15:54:52
Ralf
Hallo Gisela,
wenn Du RC verwendest, geht Excel von der aktuellen Zelle aus und zieht die angegebene Anzahl der Zeilen und Spalten ab, bzw. addiert sie hinzu. Deshalb verwende besser die konkreten Zellbezüge.
Für =WENN(A8="";"";B8&" "&"/"&" "&F8&","&" "&G8) statt
IF(RC[-4]="","",RC[-3]&" "&"/"&" "&RC[1]&","&" "&RC[2])
besser:
If Range("A8") = "" Then
activecell = ""
else
activecell = Range("B8) & " / " & range("F8") & " " & Range("G8")
end If
Ciao, Ralf
AW: Makro mit Formel läuft nicht
05.10.2005 16:30:47
Gisela
Hallo Ralf,
vielen Dank für Deine Hilfe.
Mein Makro sieht jetzt so aus:

Sub Daten()
Application.ScreenUpdating = False
Columns("E:E").Insert Shift:=xlToRight
[E2:E3000].Select
If Range("A8") = "" Then
ActiveCell = ""
Else
ActiveCell = Range("B8") & " / " & Range("F8") & " " & Range("G8")
End If
[E2:E3000].Copy
[E2].PasteSpecial (xlPasteValues)
Columns("E:E").ColumnWidth = 24.14
[E1].FormulaR1C1 = ""
[E2].Select
End Sub

und funktioniert leider nicht. Muß ich das umbauen, dass copy mit der Formel erst noch vorgenommen wird und dann erst Copy Werte?
Grüße
Gisela
Anzeige
AW: Makro mit Formel läuft nicht
05.10.2005 17:04:59
Luschi
Hallo Gisela,
versuch's mal so:
Sub Daten()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ActiveSheet.Columns("E:E").Insert Shift:=xlToRight
[E2].Select
'in Strings müssen die Anführungsstriche verdoppelt werden!
ActiveCell.Formula = "=IF(A2="""","""",B2 & "" / "" & F2 & "" , "" & G2)"
Selection.AutoFill Destination:=Range("E2:E3000"), Type:=xlFillDefault
ActiveSheet.Columns("E:E").ColumnWidth = 24.14
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub

Gruß von Luschi
aus klein-Paris
Anzeige
Funktioniert, herzlichen Dank, o.T.
05.10.2005 17:50:48
Gisela
o
AW: Makro mit Formel läuft nicht
05.10.2005 18:18:26
Ralf
Hallo Gisela,
ach so! Du möchtest die Formel von E2 bis E3000 einfügen. Dann kann Activecell nicht funktionieren. Bleibt die Frage ob A8 als relativer oder absoluter Bezug gemeint ist. (oder nur als Beispiel für E8?)
Vielleicht hilft Dir ja FormulaLocal weiter, weil es übersichtlicher ist.
Bsp.: (in E2 wird eingetragen: = Wenn(A2 = "";"";B2 & " / " & F2 & " , " & G2)
[E2].FormulaLocal = "=Wenn(A2 = """";"""";B2 & "" / "" & F2 & "" , "" & G2)"
Hier kannst Du auch die absoluten Bezüge mit dem § Zeichen ganz einfach setzen. Ansonsten so, wie Luschi es schon vorgeschlagen hat mit:
Selection.AutoFill Destination:=Range("E2:E3000"), Type:=xlFillDefault
weiter.
Ciao, Ralf
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige