Thema Datum  Von Nutzer Rating
Antwort
22.01.2025 22:53:58 Dagmar
NotSolved
22.01.2025 23:20:01 Gast01
NotSolved
22.01.2025 23:21:03 ralf_b
NotSolved
23.01.2025 09:44:43 Dagmar
NotSolved
23.01.2025 14:12:32 Gast01
NotSolved
23.01.2025 16:13:48 Dagmar
NotSolved
23.01.2025 20:12:55 ralf_b
NotSolved
23.01.2025 21:51:26 Dagmar
NotSolved
24.01.2025 07:00:46 ralf_b
NotSolved
24.01.2025 18:26:24 Dagmar
NotSolved
25.01.2025 13:03:48 ralf_b
NotSolved
26.01.2025 10:59:44 Dagmar
NotSolved
26.01.2025 13:08:47 ralf_b
NotSolved
Blau Formeln in erste leere Zelle einfüben.
27.01.2025 21:58:11 Dagmar
NotSolved
28.01.2025 00:56:38 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
Dagmar
Datum:
27.01.2025 21:58:11
Views:
48
Rating: Antwort:
  Ja
Thema:
Formeln in erste leere Zelle einfüben.

Hallo Ralf,

Zuerst vielen Dank für die Erklärung - ich kann schon Kleinigkeiten in VBA aber vieles ist mir einfach zu steil, Excel selbst ist eher mein Ding.

Und auch vielen Dank für die Formel, dachte zuerst die Haut super hin, erst beim zweiten hinsehen, und genauer Kotnrolle, jeder Spalte.

musste ich bemerken, das irgenwo noch ein Haken sein muss.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   
 'target ist die gerade ausgewählte zelle
  If Target.CountLarge > 1 Then Exit Sub
  If Target.Column = 1 Or Target.Column = 2 Then 'spalte A oder B
      If Target.Row > 1 And Target = "" Then   'ist zelle leer
        'ist Zelle oben drüber nicht leer
        If Target.Offset(-1) <> "" Then formelnschreiben
      End If
  End If
End Sub
 
Sub formelnschreiben()
  Dim arSp, itm, rng As Range, i As Long, bolisformula As Boolean
    Dim stextformula As String
    Dim lrow As Long
  
    'Array mit den zu ersetzenden Spaltennummern
    arSp = Split("P,Y,Z,AA,AC,AD", ",")
 
  lrow = ActiveCell.Row
   
  Application.EnableEvents = False
  On Error GoTo ERRORHANDLING
   
  For Each itm In arSp
     Set rng = Intersect(UsedRange, Columns(itm))
     
     If rng Is Nothing Then Exit Sub
         
    For i = rng.Rows.Count To 1 Step -1
         
        If rng(i, 1).HasFormula Then
            
           stextformula = rng(i, 1).FormulaLocal
           stextformula = Replace(stextformula, CStr(rng(i, 1).Row), CStr(lrow), , 3)
           
          'geänderte Formel in zelle schreiben
           Cells(lrow, itm).FormulaLocal = stextformula
           Exit For
        End If
    Next
         
  Next
ERRORHANDLING:
    Application.EnableEvents = True
     
     
End Sub
Ich habe den Code in 2 Tabellen getestet und jedesmal habe ich in den letzten beiden Spalten Fehler in den Formeln ich habe die Formeln in den Spalten genauestens kontrolliert.

zb.Zeile 1270 ist die Excelformel

=WENN(WENN(ISTNV(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));(Y1270-Verrechnungsdaten!$E$2);WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)=0;0;WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)>0;(Y1270-SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));)))<=0;0;WENN(ISTNV(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));(Y1270-Verrechnungsdaten!$E$2);WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)=0;0;WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)>0;(Y1270-SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));))))

nach dem Einfügen stimmen nur die letzten beiden Spalten nicht

Zeile 1271

=WENN(WENN(ISTNV(SVERWEIS(SVERWEIS("*"&LINKS(G1271;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));(Y1271-Verrechnungsdaten!$E$2);WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1271;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)=0;0;WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1271;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)>0;(Y1271-SVERWEIS(SVERWEIS("*"&LINKS(G1271;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));)))<=0;0;WENN(ISTNV(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));(Y1270-Verrechnungsdaten!$E$2);WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)=0;0;WENN(SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH)>0;(Y1270-SVERWEIS(SVERWEIS("*"&LINKS(G1270;10)&"*";Verrechnungsdaten!A:A;1;FALSCH);Verrechnungsdaten!A:C;2;FALSCH));))))

Wie Du hier siehst wird am Anfang noch die Formel richtig eingefügt aber dann nicht mehr, ich hab mal gelesen das VBA nur gewissen Zeichenlängen

übernehmen kann, trifft das hier zu, denn die anderen Formeln zum einfügen sind auch weit kürzer.

Ich hatte mal eine Formel die habe ich in 2 Zeile zerlegt, und beim Einfügen dann wieder zusammengesetzt.

Daher nochmals dein Profiwissen, an was liegt das? Und wie kann man es lösen.

Schönen Abend Dagmar

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.01.2025 22:53:58 Dagmar
NotSolved
22.01.2025 23:20:01 Gast01
NotSolved
22.01.2025 23:21:03 ralf_b
NotSolved
23.01.2025 09:44:43 Dagmar
NotSolved
23.01.2025 14:12:32 Gast01
NotSolved
23.01.2025 16:13:48 Dagmar
NotSolved
23.01.2025 20:12:55 ralf_b
NotSolved
23.01.2025 21:51:26 Dagmar
NotSolved
24.01.2025 07:00:46 ralf_b
NotSolved
24.01.2025 18:26:24 Dagmar
NotSolved
25.01.2025 13:03:48 ralf_b
NotSolved
26.01.2025 10:59:44 Dagmar
NotSolved
26.01.2025 13:08:47 ralf_b
NotSolved
Blau Formeln in erste leere Zelle einfüben.
27.01.2025 21:58:11 Dagmar
NotSolved
28.01.2025 00:56:38 ralf_b
NotSolved