Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro korrigieren

Forumthread: Makro korrigieren

Makro korrigieren
28.12.2006 13:07:57
Michael
Hallo Excel Profi´s,
könnte sich bitte jemand Mal mein Makro anschauen. Wenn in der Tabelle "A-Liste" nicht alle Anfangszellen ( A11:B38 ) befüllt werden, kommt die Fehlermeldung "Index außerhalb des gültigen Bereichs". Wie stell ich das ab. Der Anwender soll natürlich die Möglichkeit haben, je nach Bedarf so viele Zeilen zu befüllen wie er möchte.
Hier mein Makro:

Sub DatenUebernehmen()
Dim objSh As Worksheet
Dim lngFirst As Long
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B12"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a11:n11").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B14"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a13:n13").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B16"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a15:n15").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B18"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a17:n17").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B20"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a19:n19").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B22"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a21:n21").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B24"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a23:n23").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B26"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a25:n25").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B28"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a27:n27").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B30"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a29:n29").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B32"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a31:n31").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B34"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a33:n33").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B36"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a35:n35").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("B38"), "mmmm"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 0, 14)) = Sheets("A-Liste").Range("a37:n37").Value
End With
On Error GoTo ErrExit
Set objSh = Sheets(Format(Sheets("A-Liste").Range("b3"), "Provisionskontrolle"))
With objSh
lngFirst = .Cells(Rows.Count, 1).End(xlUp).Row + 1
If .Cells(Rows.Count, 2).End(xlUp).Row + 1 > lngFirst Then lngFirst = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Range(.Cells(lngFirst, 1), .Cells(lngFirst + 25, 14)) = Sheets("A-Liste").Range("A11:n38").Value
End With
'Datenbereich löschen!
Sheets("A-Liste").Range("A11:r38").ClearContents
Set objSh = Nothing
Exit Sub
ErrExit:
If Err.Number > 0 Then
MsgBox Err.Number & vbLf & Err.Description, 48, "Fehler"
End If
End Sub

Grüße
Michael
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro korrigieren
29.12.2006 10:45:05
Michael
hat niemand eine Idee ?
AW: Makro korrigieren
29.12.2006 14:08:53
Michael
hat sich erledigt
Mfg
Michael
Anzeige
;

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