ich habe ein Laufzeitproblem. Beim Hinzufügen von Spalten gibt es kein Problem. Nur beim Löschen.
Ich habe 4 Tabellenblätter. Im Allgemeinen Blatt kann man bestimmten, wie viele Felder(Spaltenanzahl) es gibt. Bei einem hinzufügen wird das letzte Feld (Spalte) kopiert und eingefügt, beim Löschen wird das letzte Feld (Spalte) entfernt.
Im "Übersicht"-Blatt gibt es keine Probleme. Nur bei den anderen beiden Blättern kommen Laufzeitfehler, wenn es vorher mehr als 2 Spalten gab.
Hier der Quelltext:
Sub Feld_hinzufügen()
Application.ScreenUpdating = False 'deaktiviert Bildschirm
Dim Feldhinzu, lngSpa As Integer
Dim Anzahl As Integer, i As Integer
Sheets("Übersicht").Select
lngSpa = Cells(3, Columns.Count).End(xlToLeft).Column 'Letzte beschriebene Spalte in Zeile 3 _
_
bestimmen
Sheets("Übersicht").Select
Columns(lngSpa - 5).Copy 'von der letzten Spalte werden 5 _
Spalten abgezogen und kopiert
Columns(lngSpa - 5).Resize(, 1).Insert 'die kopierte Spalte wird eingefügt
Application.CutCopyMode = False
Sheets("Serienliste").Select 'wie im Übersichtsblatt
lngSpa = Cells(1, Columns.Count).End(xlToLeft).Column 'Letzte beschriebene Spalte in Zeile 3 _
_
bestimmen
Columns(lngSpa - 2).Copy '2 Spalten neben der letzten
Columns(lngSpa - 2).Resize(, 1).Insert
Application.CutCopyMode = False
Sheets("Einbauliste").Select 'wie im Übersichtsblatt
lngSpa = Cells(1, Columns.Count).End(xlToLeft).Column 'Letzte beschriebene Spalte in Zeile 3 _
_
bestimmen
Columns(lngSpa - 2).Copy '2 Spalten neben der letzten
Columns(lngSpa - 2).Resize(, 1).Insert
Application.CutCopyMode = False
Sheets("Deckblatt").Select 'Deckblatt aufrufen
Application.ScreenUpdating = True 'Aktiviert Bildschirm
End Sub
Sub Feld_löschen()
'löschen der letzten Spalte
Application.ScreenUpdating = False
Dim Anzahl As Integer
Dim Laenge1 As Integer
Dim Laenge2 As Integer
Dim Laenge3 As Integer
Anzahl = Worksheets("Deckblatt").Range("B10")
If Anzahl
Es werden von der Länge jeweils 5 bwz. 2 abgezogen, da dahinter noch Spalten sind, welche nicht entfernt werden sollen.
Ich hoffe, jemand hat einen Hinweis, woran es liegen kann bzw. Ideen, um dieses Problem zu umgehen.
Freundliche Grüße
Friedrich L.