Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Formel in VBA
20.05.2008 15:43:00
onkelbobby
Hi,
ich versuche die einfache Formel "A&" "&B" in die Spalte C (ab Zeile 3) per VBA zu bringen.
Soweit bin ich:
Dim loZeile As Long
Dim loLetzte As Long
Range("C3:C65536").ClearContents
For loZeile = 3 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, _
Rows.Count)
Cells(loZeile, 3).FormulaLocal = "?"
Next loZeile
Was muss bei den Fragezeichen stehen? Wohl irgendwas mit A&B, aber wie bekomme ich die jeweilige Zeilennummer in diese Formel?
Danke!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel in VBA
20.05.2008 15:50:00
Rudi
Hallo,
arbeite mit RC-Bezügen.
.FormulaR1C1 = "=RC1&RC2"
Gruß
Rudi

Formel in VBA
20.05.2008 15:58:00
Daniel
Hallo
mach mal folgendes:
schreibe die Forme normal in die Zelle und selektiere diese. Dann wechsle in den VBA-Editor ins Direktfenster und gib dort ein: "?Selection.FormulaR1C1"
das Ergebnis verwendest du dann in deinem Makro in der Form:
Cells(loZeile, 3).FormulaR1C1 = "?"
die R1C1-Schreibweise hat hier den Vorteil, daß du die Zeilen-Nummer nicht benötigst, da der Relative Zellbezug ja immer gleich ist (gleiche Zeile)
kleiner Tip noch: Anführungszeichen, die zur Formel gehören und nicht den Formelstring begrenzen, müssen Veropptelt werden, damit Excel das erkennen kann. (im Ergebnis im Direktfenster sind sie noch nicht verdoppelt)
noch ein Hinweis, die Schleife ist überflüssig, du kannst eine Formel auch einem ganzen Zellbereich zuweisen:

Range(Cells(3,3), Cells(3, loLetzte)).formulaR1C1 = "=RC1&"" ""&RC2"


Gruß, Daniel

Anzeige
AW: Formel in VBA nochwas
20.05.2008 16:03:00
Daniel
wenn du die Formel für den ganzen Zellbereich direkt eingibst, ohne Schleife, dann funktioniert auch die normale .FormulaLocal-Schreibweise problemlos:
Range(Cells(3,3), Cells(3, loLetzte)).formulalocal = "=A3&"" ""&B3"
die Relativen Zellbezüge werden von Excel richtig erkannt um umgesetzt.
Gruß, Daniel

AW: Formel in VBA nochwas
20.05.2008 16:40:55
onkelbobby
Hi,
danke für eure Hilfe! Ich krieg das trotzdem noch nicht ganz gebacken (VBA-Kenntnisse sehr gering!).
Die Lösung von Rudi klappt:
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect
Dim loZeile As Long
Dim loLetzte As Long
Range("C3:C65536").ClearContents
For loZeile = 3 To IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, _
Rows.Count)
Cells(loZeile, 3).FormulaR1C1 = "=RC1&RC2"
Next loZeile
Jedoch kriege ich kein Leerzeichen zwischen die Worte (Anführungszeichen und Space funktionieren hier nicht).
Die Lösung von Daniel klappt auch nicht. Was muss ich da noch eingeben (oder weglassen).
Range(Cells(3,3), Cells(3, loLetzte)).formulalocal = "=A3&"" ""&B3"
Habe das mal direkt unter den unprotect-Befehl eingegeben. Dann kommt diese Meldung: Laufzeitfehler 1004.
Danke für weitere Hilfe!

Anzeige
AW: Formel in VBA nochwas
20.05.2008 17:00:00
Daniel
Hi
naja, die Variablen, die verwendet werden, musst du schon noch festlegen:
mein Befehl ersetzt nur die Schleife.
als ganzes siehts dann so aus:

Private Sub Worksheet_Activate()
ActiveSheet.Unprotect
Dim loLetzte As Long
Range("C3:C65536").ClearContents
loLetzte = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(3, 3), Cells(loLetzte, 3)).FormulaLocal = "=A3&"" ""&B3"
End Sub


Gruß, Daniel

AW: Formel in VBA nochwas
20.05.2008 17:06:00
onkelbobby
Bingo!
Vielen, vielen Dank!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige