Collapse column

Autor Thema: Office 2016 Formel mit variablem Bezug in For-Next-Schleife einer Prozedur übergeben  (Gelesen 710 mal)

Offline FlorianF

  • Jr. Member
  • **
  • Beiträge: 62
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Hi Leute,

ich lasse mit folgendem Code eine Formel in einen Zellbereich schreiben

    Dim rngFormelBetrag As Range
    Dim rngZelleFormel As Range
    Dim lngTitelzeileOP As Long
    Dim lngZeilen As Long, lngZeile As Long
    Dim strFormelBetrag As String
   
    'Feststellen wieviele Titelzeilen es gibt bis die Daten beginnen
    lngTitelzeileOP = Application.Names("TitelzeileOP").RefersToRange.Row
    'Ermittlung der Zeilenanzahl in der Daten stehen
    lngZeilen = tblOPDeb.UsedRange.Rows.Count - lngTitelzeileOP
   
    'Formel zur Ermittlung des positiven bzw. negativen Betrag als Summe von Soll und Haben eintragen
    Set rngFormelBetrag = tblOPDeb.Range("CN2:CN" & lngZeilen)
    tblOPDeb.Range("CN1").Value = "Betrag"         'Spaltenüberschrift festlegen
    For Each rngZelleFormel In rngFormelBetrag
        lngZeile = rngZelleFormel.Row
        strFormelBetrag = "=F" & lngZeile & "-G" & lngZeile     'Formel "=F2-G2"
        rngZelleFormel.Formula = strFormelBetrag
    Next
    'Formatierung der Spalte als Betrag
    tblOPDeb.Range("CN:CN").NumberFormat = "#,##0.00"

Nun ist es so, das ich verschiedene Formeln in verschiedene Spalten eintragen muss und ich hier immer die Zeilennummer als Teil der Formel benötige. Ich würde das eintragen also gerne in eine separate Prozedur auslagern und nur die Bereiche und die entsprechende Formel als Parameter übergeben. Aber wie baue ich die Formel zusammen die ich übergeben will, da sich diese ja durch die For-Nex-Schleife anhand der Zeilennummer ermittelt?

Beste Grüße
Flo
« Letzte Änderung: Februar 16, 2017, 11:39:16 Vormittag von FlorianF »

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline FlorianF

  • Jr. Member
  • **
  • Beiträge: 62
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2016
Hab es mittlerweile selbst gelöst, ob effizient weiss ich nicht aber es funktioniert. Das sind die für mich "entscheidenden" Code-Zeilen für die Interessierten  ;)

Der Aufruf der Sub
[...]
strFormel = "=F#Zeile#-G#Zeile#"
FormelEinfuegen tblOPDeb, "CN", strFormel, "Betrag", "#,##0.00"
[...]

In der Sub
[...]
strFormelVariabel = Replace(strFormel, "#Zeile#", lngZeileAktuell)
[...]

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.