Anzeige
Archiv - Navigation
1252to1256
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
Inhaltsverzeichnis

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige