Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1040to1044
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

VBA-Code: Fehler?!?!?

VBA-Code: Fehler?!?!?
21.01.2009 11:58:00
Sascha

Private Sub Worksheet_Activate()
'Zielblatt muss immer die höchste Nr. haben!
Dim i As Long
Dim j As Long
On Error GoTo Fehler
Application.EnableEvents = False
Application.ScreenUpdating = False
Columns("B").ClearContents
For i = 1 To ActiveWorkbook.Sheets.Count - 1 Step 1
Sheets(i).Range("C122:C218").Copy
Cells(Rows.Count, "B").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
Next i
j = Cells(Rows.Count, "B").End(xlUp).Row 'Zeilenzahl ermitteln
Range("B1:B" & j).SpecialCells(xlCellTypeBlanks).Delete 'Leerzellen aufrücken
For i = 1 To ActiveWorkbook.Sheets.Count - 1 Step 1
Sheets(i).Range("M122:M218").Copy
Cells(Rows.Count, "C").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
Next i
j = Cells(Rows.Count, "C").End(xlUp).Row 'Zeilenzahl ermitteln
Range("C1:C" & j).SpecialCells(xlCellTypeBlanks).Delete 'Leerzellen aufrücken
For i = 1 To ActiveWorkbook.Sheets.Count - 1 Step 1
Sheets(i).Range("K122:K218").Copy
Cells(Rows.Count, "D").End(xlUp).Offset(1).PasteSpecial Paste:=xlPasteValues
Next i
j = Cells(Rows.Count, "D").End(xlUp).Row 'Zeilenzahl ermitteln
Range("D1:D" & j).SpecialCells(xlCellTypeBlanks).Delete 'Leerzellen aufrücken
Fehler:
Application.EnableEvents = True
Application.ScreenUpdating = True
Range("A1").Select
ActiveSheet.UsedRange
End Sub


in diesem VBA-Code verbirgt sich ein Fehler.
Folgendes soll er erfüllen:
Der Code kopiert mir auf das letzte Blatt im Workbook alle Zeilen "M122-M218" und "K122-K218" der anderen enthaltenen Arbeitsblätter nebereinander und untereinander (in Spalte B und C).
Im laufenden Betrieb habe ich jedoch feststellen müssen, das folgender Fehler auftritt:
In die Spalte C werden nur teilweise die Daten übernommen, bei neu eingepflegten Daten entsteht keine Eintragung, obwohl der Wert in B kopiert wurde.
Die Spalte D wird gar nicht gefüllt.
Kann einer den Fehler in diesem Code finden und berichtigen?
Wenn jemand eine andere Lösung hat, nehme ich die auch gerne, leider kenne ich mich mit VBA nicht aus :(
Danke für eure Unterstützung.
LG
Sascha

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code: Fehler?!?!?
21.01.2009 13:10:02
Luschi
Hallo Sascha,
so sollte es klappen:

Private Sub Worksheet_Activate()
'Zielblatt muss immer die höchste Nr. haben!
Dim i As Long
Dim j As Long
On Error GoTo Fehler
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ActiveSheet.Columns("B").ClearContents
ActiveSheet.Columns("C").ClearContents
With ActiveSheet
For i = 1 To ActiveWorkbook.Sheets.Count - 1 Step 1
Sheets(i).Range("M122:M218").Copy
.Cells(.Rows.Count, "B").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Sheets(i).Range("K122:K218").Copy
.Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
Next i
End With
Fehler:
Application.CutCopyMode = False
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
ActiveSheet.Range("A1").Select
End Sub

Gruß von Luschi
aus klein-Paris

Anzeige
AW: VBA-Code: Fehler?!?!?
21.01.2009 13:16:00
Sascha
Hallo Luschi,
vielen Dank, dass du dich der Sache angenommen hast.
Kannst du mir vielleicht auch sagen, wo der Fehler lag?
Ich hab schon geschaut, der neue Code funktioniert, ich schaue gleich nochmal genauer nach.
LG
Sascha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige