Ich habe folgendes PRoblem:
Untenstehender Code soll einzeln Spalten verschieben. Und zwar nach folgendem Muster. Zuerst wird geprüft ob der Wert in Zeile 7 schon in der richtigen Spalte steht (If not Anweisung) wenn nicht dann soll die in Überprüfung befindlcihe Spalte kopiert werden und an eine bestimmte (fixe) Spalte verschoben werden.
Wenn ich das Makro ausführe bekomme ich folgende Fehleranweisung
Microsoft Office Excel kann ausgefüllte Zellen nicht über das Arbeitsblatt hinaus verschieben, um einen möglichen Datenverlust zu verhndern."
Nun der Code
Sub richtigeReihenfolge()
Dim i As Integer
Dim y As Integer
Dim rng As Range
With Sheets("Anschrift")
Set rng = Rows("7:7")
rng.Select
y = Application.WorksheetFunction.CountA _
(Rows(ActiveCell.Row))
For i = y To 1 Step -1
Cells(7, i).Select
Select Case Cells(7, i).Value
Case "Vertrag Nr."
With Columns(i)
If Not Cells(7, 1).Value = "Vertrag Nr." Then
.Select
.Cut
Range("A1").EntireColumn.Insert
End If
End With
Case "Spartengruppe"
With Columns(i)
If Not Cells(7, 2).Value = "Spartengruppe" Then
.Select
.Cut
Range("B:B").EntireColumn.Insert
End If
End With
End Select
Next i
End With
End Sub
Das interessante ist, ich habe ein andere Excel Datei angelegt ein paar Daten eingegeben und das Makro laufen lassen.UND (?) es funktioniert. Nurin der Datei wo es laufen soll nicht.. Ich muss dazusagen das ichmit dier Zieldatei schon viel abgearbeitet habe und vermute dass irgendetwas im Excel im Hintergrund gespeichert wird, das mir den Makrolauf verhindert.....
Ich bitte um Tipp und Hilfestellung, danke!