Formel eintragen |
|
|
Nachfolgend einige Beispiele zum Eintragen einer Formel per Makro
|
|
Summe |
| A | B | C | 1 | Werte | | 10 | 2 | 1 | | 10 | 3 | 2 | | | 4 | 3 | | | 5 | 4 | | | Formeln der Tabelle | C1 : =SUMME(A2:A5) C2 : =SUMME(A2:A5)
|
|
|
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 3.0 Download
Beim Schreiben der Formel in Zelle C1 lief der Makrorekorder mit. Er liefert folgenden Code:
Sub Formel_mit_Rekorder()
'
' Formel_mit_Rekorder Makro
' Makro am 24.10.2009 von Jürgen Hennekes aufgezeichnet
'
Range("C1").Select
ActiveCell.FormulaR1C1 = "=SUM(R[1]C[-2]:R[4]C[-2])"
Range("C2").Select
End Sub
Ohne Rekorder läßt sich die Formel, hier in C2, auch über FormulaLocal in der bekannten Schreibweise eintragen.
Es wird dabei die in Excel eingestellte Sprache verwendet.
Public Sub Formel_ohne_Rekorder()
Range("C2").FormulaLocal = "=Summe(A2:A5)"
End Sub
---------------------------------------------------------------------------------------------------------------------------------------
|
Sverweis |
| A | B | C | D | E | F | 1 | PersonalNr | Name | | | PersonalNr | Name | 2 | 002 | Meier | | | 001 | Müller | 3 | 004 | Mustermann | | | 002 | Meier | 4 | 005 | Musterfrau | | | 003 | Schmitz | 5 | | | | | 004 | Mustermann | 6 | | | | | 005 | Musterfrau | Formeln der Tabelle | B2 : =SVERWEIS(A2;$E$2:$F$6;2;0) B3 : =SVERWEIS(A3;$E$2:$F$6;2;0) B4 : =SVERWEIS(A4;$E$2:$F$6;2;0)
|
|
|
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 3.0 Download
Beim nächsten Beispiel wird in Zelle B2 eine Sverweis-Formel eingetragen und durch Doppelklick auf das Ausfüllkästen bis zum letzen Eintrag in Spalte A übernommen. Wieder lief der Rekorder mit.
Sub Sverweis_mit_Rekorder()
'
' Sverweis_mit_Rekorder Makro
' Makro am 24.10.2009 von Jürgen Hennekes aufgezeichnet
'
Range("B2").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],R2C5:R6C6,2,0)"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B4")
Range("B2:B4").Select
End Sub
Die Alternative per FormulaLocal, wobei die Formel sofort in den Bereich B2 bis B4 geschrieben wird.
Public Sub Sverweis_ohne_Rekorder()
Range("B2:B4").FormulaLocal = "=sverweis(A2;$E$2:$F$6;2;0)"
End Sub
Ist der Bereich nicht bekannt, so kann er zunächst ermittelt werden.
Public Sub Sverweis_ohne_Rekorder2()
Dim lngLetzteZeile As Long
lngLetzteZeile = Range("A65536").End(xlUp).Row '<- Unterste belegte Zeile in Spalte A
Range("B2").FormulaLocal = "=sverweis(A2;$E$2:$F$6;2;0)"
Range("B2").AutoFill Destination:=Range("B2:B" & lngLetzteZeile)
End Sub
---------------------------------------------------------------------------------------------------------------------------------------
Nun soll der Vorname ebenfalls in Spalte B eingetragen werden.
|
Sverweis (2) |
| A | B | C | D | E | F | G | 1 | PersonalNr | Name | | | PersonalNr | Name | Vorname | 2 | 002 | Meier Herbert | | | 001 | Müller | Peter | 3 | 004 | Mustermann Fritz | | | 002 | Meier | Herbert | 4 | 005 | Musterfrau Helga | | | 003 | Schmitz | Toni | 5 | | | | | 004 | Mustermann | Fritz | 6 | | | | | 005 | Musterfrau | Helga | Formeln der Tabelle | B2 : =SVERWEIS(A2;$E$2:$G$6;2;0)&" "&SVERWEIS(A2;$E$2:$G$6;3;0) B3 : =SVERWEIS(A3;$E$2:$G$6;2;0)&" "&SVERWEIS(A3;$E$2:$G$6;3;0) B4 : =SVERWEIS(A4;$E$2:$G$6;2;0)&" "&SVERWEIS(A4;$E$2:$G$6;3;0)
|
|
|
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 3.0 Download
Hier ist nun zu beachten, dass die Anführungszeichen, welche den Abstand zwischen Vor- und Nachname bilden, im Code doppelt eingegeben werden müssen.
Public Sub Sverweis_ohne_Rekorder3()
Range("B2:B4").FormulaLocal = "=sverweis(A2;$E$2:$G$6;2;0)&"" ""&sverweis(A2;$E$2:$G$6;3;0)"
End Sub
---------------------------------------------------------------------------------------------------------------------------------------
Abschließend noch ein Beispiel für das Eintragen per Schleife. In den Zellen der Spalte A, Reihe 1 bis 10, also A1:A10 soll eine Summenformel geschrieben werden.
|
Per Schleife |
| A | B | C | D | 1 | 1 | | 1 | 2 | 2 | 3 | | 3 | 4 | 3 | 5 | | 5 | 6 | 4 | 7 | | 7 | 8 | 5 | 9 | | 9 | 10 | 6 | 11 | | 11 | 12 | 7 | 13 | | 13 | 14 | 8 | 15 | | 15 | 16 | 9 | 17 | | 17 | 18 | 10 | 19 | | 19 | 20 | Formeln der Tabelle | A1 : =SUMME($B$1:$C$1) A2 : =SUMME($B$2:$C$2) A3 : =SUMME($B$3:$C$3) A4 : =SUMME($B$4:$C$4) A5 : =SUMME($B$5:$C$5) A6 : =SUMME($B$6:$C$6) A7 : =SUMME($B$7:$C$7) A8 : =SUMME($B$8:$C$8) A9 : =SUMME($B$9:$C$9) A10 : =SUMME($B$10:$C$10)
|
|
|
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen Excel Jeanie HTML 3.0 Download
Hier wurde nun die Cells-Schreibweise genommen: Cells(Zeile,Spalte)
Public Sub Formel_per_Schleife()
Dim lngZ As Long
For lngZ = 1 To 10
Cells(lngZ, 1).FormulaLocal = "=summe(" & Cells(lngZ, 2).Address & ":" & Cells(lngZ, 3).Address & ")"
Next
End Sub
Oder ohne Dollarzeichen
Public Sub Formel_per_Schleife2()
Dim lngZ As Long
For lngZ = 1 To 10
Cells(lngZ, 1).FormulaLocal = "=summe(" & Cells(lngZ, 2).Address(0, 0) & ":" & Cells(lngZ, 3).Address(0, 0) & ")"
Next
End Sub