Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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

Formel per VBA eintragen ?

Formel per VBA eintragen ?
15.09.2008 16:23:00
Selma
Hallo Leute,
wie kann in aktive Zeile in Spalte U per VBA die Formel:
=WENN(ODER(B31="";C31="");"";o_gerade(B31;C31;D31;E31;F31;G31;H31;I31;J31;K31;L31;M31;N31;O31;T31))
eintragen?
Wobei 31 ist im Beispiel die aktive Zeile ist.
Vielen Dank im Voraus !
Liebe Grüße,
Selma

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel per VBA eintragen ?
15.09.2008 16:28:55
Rudi
Hallo,
warum nimmst du nicht einfach den Recorder?
Gruß
Rudi
was ist o_gerade?
AW: Formel per VBA eintragen ?
15.09.2008 16:46:00
Selma
Es funktioniert prima....
Vielen Dank Tino !
Gibt es die Möglichkeit die durch Makro-Aufzeichnung generierte FormulaR1C1 in FormulaLocal per VBA umzuwandeln?
LG,
Selma
AW: Formel per VBA eintragen ?
15.09.2008 16:51:53
Rudi
Hallo,

Gibt es die Möglichkeit die durch Makro-Aufzeichnung generierte FormulaR1C1 in FormulaLocal per VBA umzuwandeln?


Wozu?
Das Ergebnis ist das gleiche. Letztlich ist R1C1 sogar besser einsetzbar, da man die Bezüge leichter anpassen kann.
Gruß
Rudi

Anzeige
nur mal zum Spaß.
15.09.2008 17:08:00
Tino
Hallo Selma,
Rudi hat recht!
Deine Formel würde so ausehen.
Modul Modul1
Option Explicit 
 
Sub Nur_mal_so() 
Dim MeineZelle As Range 
Set MeineZelle = Cells(ActiveCell.Row, "U") 
 
MeineZelle.FormulaLocal = _
"=WENN(ODER(B" & MeineZelle.Row & "="""";C" & MeineZelle.Row & "="""")" & _
";"""";o_gerade(B" & MeineZelle.Row & ";C" & MeineZelle.Row & ";D" & _
MeineZelle.Row & ";E" & MeineZelle.Row & ";F" & MeineZelle.Row & _
";G" & MeineZelle.Row & ";H" & MeineZelle.Row & ";I" & MeineZelle.Row & _
";J" & MeineZelle.Row & ";K" & MeineZelle.Row & ";L" & MeineZelle.Row & _
";M" & MeineZelle.Row & ";N" & MeineZelle.Row & ";O" & MeineZelle.Row & _
";T" & MeineZelle.Row & "))" 
 
End Sub 


Kommst du damit zurecht?
Hast Du noch den Durchblick?

Anzeige
AW: nur mal zum Spaß.
15.09.2008 22:20:00
Selma
Hallo Tino,
meine Frage zum Umwandlung der FormulaR1C1 in FormulaLocal bezieht sich nicht auf dein Makro.
Das war eine allgemeine Frage. Für mich ist es leichter eine Formel zu kopieren und falls ich sie in VBA brauche über FormulaLocal einzufügen (ohne vorher das Makro aufzuzeichnen). Leider funktioniert dieser Weg nicht immer da z.B. ein """ durch " & Chr(34) & Chr(34) & " ersetzt werden muss.
Liebe Grüße,
Selma
AW: Formel per VBA eintragen ?
15.09.2008 16:36:00
Tino
Hallo, ,
so könnte es gehen.
Habe noch einen Zusatz eingebaut, damit die Formel immer in der richtigen Spalte landet. ;-)
Sub Test()
Dim MeineZelle As Range
Set MeineZelle = Cells(ActiveCell.Row, "U")
MeineZelle.FormulaR1C1 = _
"=IF(OR(RC[-19]="""",RC[-18]=""""),"""",o_gerade(RC[-19],RC[-18],RC[-17],RC[-16],RC[-15],RC[-14],RC[-13],RC[-12],RC[-11],RC[-10],RC[-9],RC[-8],RC[-7],RC[-6],RC[-1]))"

End Sub


Gruß Tino

Anzeige
AW: Formel per VBA eintragen ?
15.09.2008 16:44:00
David
Hallo Selma,
als Muster (da ich deine vorhandenen Gegebenheiten nicht alle kenne):

Sub test()
Const Standard As String = "=WENN(ODER(B|="""";C|="""");"""";summe(B|;C|;D|;E|;F|;G|;H|;I|;J|;K| _
;L|;M|;N|;O|;T|))"
For i = 1 To 10
With Range("A1:A" & i)
.ClearContents
.FormulaLocal = Replace(Standard, "|", i, 1)
End With
Next i
End Sub


würde für die Zellen A1:A10 die entsprechende Formel eintragen. Wenn du die "richtige" Zeile anderweitig ermittelst, müsste man das entsprechend einbauen.
Gruß
David

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige