Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA-Code vereinfachen

VBA-Code vereinfachen
15.02.2005 10:12:12
Fred
Hallo, liebes Excel-Forum.
Ich bräuchte mal ein bisschen Hilfe um dieses Makro zu vereinfachen, denn da man ja fast immer das gleiche ausführt(außer das es verschiedene Tabellen sind), müsste es doch bestimmt einfacher gehen.
Wäre nett wenn ihr einem Anfänger ein bisschen helfen könntet.
Schonmal vielen Dank im vorraus.
&ltpre&gt
Sub Zusammenfügen()
'
Sheets("Liste").Select
Cells.Select
Selection.ClearContents
Range("A1").Select

'Tabelle303
Sheets("303").Select
Columns("A:M").Select
Selection.Copy
Sheets("Liste").Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
, Transpose:=False
'Tabelle304
Range("A249").Select
Sheets("304").Select
Range("A2:M99").Select
Selection.Copy
Sheets("Liste").Select
ActiveSheet.Paste
Range("A249").Select

'Tabelle305
Range("A350").Select
Sheets("305").Select
Range("A2:M300").Select
Selection.Copy
Sheets("Liste").Select
ActiveSheet.Paste
Range("A350").Select

'Tabelle306
Range("A650").Select
Sheets("306").Select
Range("A2:M250").Select
Selection.Copy
Sheets("Liste").Select
ActiveSheet.Paste
Range("A650").Select

'Tabelle307
Range("A900").Select
Sheets("307").Select
Range("A2:M250").Select
Selection.Copy
Sheets("Liste").Select
ActiveSheet.Paste
Range("A900").Select

'Leerzeilen löschen
Dim Liste As Worksheet
Dim i%, lZeile%
Set Liste = Worksheets(1)
lZeile = Liste.Cells(Rows.Count, 1).End(xlUp).Row
For i = lZeile To 1 Step -1
If IsEmpty(Liste.Cells(i, 1)) Or _
Liste.Cells(i, 1) = "" Then
Rows(i).Delete
End If
Next i
End Sub&lt/pre&gt
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code vereinfachen
15.02.2005 11:02:26
Josef
Hallo Fred!
Ungetestet.

Sub Zusammenfügen()
Dim Liste As Worksheet
Dim i As Long, lZeile As Long
On Error GoTo ERRORHANDLER
Set Liste = Sheets("Liste")
Application.ScreenUpdating = False
With Liste
.Cells.ClearContents
'Tabelle303
Sheets("303").Columns("A:M").Copy .Range("A1")
'Tabelle304
Sheets("304").Range("A2:M99").Copy .Cells(.Cells(65536, 1).End(xlUp).Row + 1, 1)
'Tabelle305
Sheets("305").Range("A2:M300").Copy .Cells(.Cells(65536, 1).End(xlUp).Row + 1, 1)
'Tabelle306
Sheets("306").Range("A2:M250").Copy .Cells(.Cells(65536, 1).End(xlUp).Row + 1, 1)
'Tabelle307
Sheets("307").Range("A2:M250").Copy .Cells(.Cells(65536, 1).End(xlUp).Row + 1, 1)
'Leerzeilen löschen
lZeile = .Cells(65536, 1).End(xlUp).Row
For i = lZeile To 1 Step -1
If IsEmpty(.Cells(i, 1)) Or .Cells(i, 1) = "" Then
Rows(i).Delete
End If
Next i
End With
ERRORHANDLER:
Application.ScreenUpdating = True
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: VBA-Code vereinfachen
Fred
Vielen Dank Josef, funktioniert ausgezeichnet. Danke.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige