Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehler im VBA

Forumthread: Fehler im VBA

Fehler im VBA
Heike
Hallo liebes Forum,
habe mir folgenden Code "gegoogelt und gebastelt". Dieser soll die Zellen von D und E auf C addieren und dann die Spalten D und E löschen
Sub Addiere()
Dim LRow As Long, i As Long
LRow = Cells(Rows.Count, 3).End(xlUp).Row
Application.ScreenUpdating = False
For i = 2 To LRow 'ab der 2. Zeile wird addiert
With ActiveWorkbook.ActiveSheet
.Range("C" & i).Value = .Range("C" & i) + .Range("D" & i) + .Range("E" & i)
Range("D:E").Select
Selection.Delete Shift:=xlToLeft
End With
Next i
Application.ScreenUpdating = True
End Sub

Nach Aufruf des Makros erscheint die Zeile .Range("C" & i).Value = .Range("C" & i) + .Range("D" & i) + .Range("E" & i) in gelb trotzdem aber addiert und löscht Excel.
Kann mir jemand sagen, was hier verkehrt ist? Würde mich sehr freuen und sage schon einmal Danke.
Gruß
Heike
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Fehler im VBA
29.02.2012 22:52:39
Josef

Hallo Heike,
erst einmal alles summieren, dann löschen.
Sub Addiere()
  Dim lngRow As Long, lngIndex As Long
  
  On Error GoTo ErrExit
  Application.ScreenUpdating = False
  
  With ActiveSheet
    lngRow = .Cells(.Rows.Count, 3).End(xlUp).Row
    For lngIndex = 2 To lngRow 'ab der 2. Zeile wird addiert
      .Cells(lngIndex, 3) = Application.Sum(.Range(.Cells(lngIndex, 3), .Cells(lngIndex, 5)))
    Next
    .Range("E:D").Delete
  End With
  
  ErrExit:
  Application.ScreenUpdating = True
End Sub



« Gruß Sepp »

Anzeige
AW: Fehler im VBA
01.03.2012 08:02:42
Heike
Hallo Sepp,
vielen Dank, funktioniert bestens.
Nun kam die Idee zusätzlich die Spalte H und I auf G zu addieren, also das gleiche Verfahren wie vorher, aber ein Kopieren und Ändern der Codezeile brachte nichts.
Neue Zeile:
lngRow = .Cells(.Rows.Count, 7).End(xlUp).Row
For lngIndex = 2 To lngRow
.Cells(lngIndex, 7) = Application.Sum(.Range(.Cells(lngIndex, 7), .Cells(lngIndex, 9)))
Next
.Range("H:I").Delete
Könnte ich hierfür noch mal die Hilfe in Anspruch nehmen?! Wo muss sie eingefügt werden? Wäre wirklich klasse. Vielen Dank
Gruß
Heike
Anzeige
AW: Fehler im VBA
01.03.2012 13:40:17
Heike
Hallo,
da sich natürlich die Spaltenreihenfolge ändert, konnte es auch nicht funktionieren ;-)
habe es nun folgendermaßen gelöst und es funktioniert - vorerst!!!:
Sub Addiere()
Dim lngRow As Long, lngIndex As Long
On Error GoTo ErrExit
Application.ScreenUpdating = False
With ActiveSheet
lngRow = .Cells(.Rows.Count, 3).End(xlUp).Row
For lngIndex = 2 To lngRow 'ab der 2. Zeile wird addiert
.Cells(lngIndex, 3) = Application.Sum(.Range(.Cells(lngIndex, 3), .Cells(lngIndex, 5)))
Next
lngRow = .Cells(.Rows.Count, 7).End(xlUp).Row
For lngIndex = 2 To lngRow 'ab der 2. Zeile wird addiert
.Cells(lngIndex, 7) = Application.Sum(.Range(.Cells(lngIndex, 7), .Cells(lngIndex, 9)))
Next
.Range("E:D").Delete
.Range("F:G").Delete
End With
ErrExit:
Application.ScreenUpdating = True
End Sub
Gruß
Heike
Anzeige
AW: Fehler im VBA
01.03.2012 14:07:02
Rudi
Hallo,
1. Nur 1 Schleife
2. von hinten löschen, dann musst du nichts anpassen.
Sub Addiere()
Dim lngRow As Long, lngIndex As Long
On Error GoTo ErrExit
Application.ScreenUpdating = False
With ActiveSheet
lngRow = Application.Max(.Cells(Rows.Count, 3).End(xlUp).Row, _
.Cells(Rows.Count, 7).End(xlUp).Row)
For lngIndex = 2 To lngRow 'ab der 2. Zeile wird addiert
.Cells(lngIndex, 3) = Application.Sum(.Range(.Cells(lngIndex, 3), .Cells(lngIndex, 5)))
.Cells(lngIndex, 7) = Application.Sum(.Range(.Cells(lngIndex, 7), .Cells(lngIndex, 9)))
Next
.Range("H:I").Delete
.Range("D:E").Delete
End With
ErrExit:
Application.ScreenUpdating = True
End Sub

Gruß
Rudi
Anzeige
Suuuupppiiiiii
01.03.2012 19:49:19
Heike
Hallo Rudi,
klasse, funktioniert. Danke schön!
Habe noch das Eine oder Andere an meiner Tabelle bzgl. VBA zu automatisieren. Werde bestimmt wieder nerven :-)
Allen einen schönen Abend.
Gruß
Heike
Doch noch ein Problem
02.03.2012 21:08:33
Heike
Hallo,
der Code von Rudi funktioniert soweit, nur wenn die letzte Zelle in Spalte C leer ist, addiert er mir nicht Zelle D und E in die Zelle C!!
Beispieldatei habe ich mal angefügt, mit dem Code.
https://www.herber.de/bbs/user/79177.xls
Wäre schön, wenn ich noch einmal Hilfe bekommen würde und sage schon einmal Danke.
Gruß
Heike
Anzeige
Falsche Datei ...
02.03.2012 21:12:02
Heike
... Sorry, wie kann ich diese löschen? Muss dann eine andere reinstellen!
Gruß
Heike
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige