08.12.2016, 12:12
Hallo Leute,
in einem Tabellenblatt muss ich eine Zeile einfügen. Soweit so gut. Hierzu verwende ich .Insert Shift:=xlDown.
'Begin: Neue Zeile in Tabellenblatt Gewährleistung anlegen
Sheets("Gewährleistung").Activate
With Range("B11").Offset(iMax, 0)
'Zeile 11 kopieren
Range("B11:O11").Copy
'Zeile 11 einfügen
.Insert Shift:=xlDown
'Firmennummer eintragen
.Value = iMax + 1
'in den kopierten Formeln "Firma 1" durch "Firma imax+1" ersetzen
With Application.Intersect(Range("B11:O11").EntireColumn, .EntireRow)
.Replace What:="Firma 1", Replacement:="Firma " & iMax + 1, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
'Kopiermodus ausschalten
Application.CutCopyMode = False
End With
End With
'End: Neue Zeile in Tabellenblatt Gewährleistung anlegen
Bis dahin geht auch Alles gut. Wenn ich jedoch die neue Firmennummer eintrage dann liegt der Pointer nicht mehr auf der eingefügten Zeile sondern 1.Zeile darunter.
Dies führt dazu, dass die nachfolgenden Befehle nicht ausgeführt werden, da diese Zellen leer sind.
Ich hoffe jemand von euch kann mir hier weiterhelfen. In einem anderen Teil der Anwendung habe ich dieselbe Funktionalität - ohne shiften - Spaltenbezogen abgebildet. Da funktioniert es einwandfrei.
VG Michael
in einem Tabellenblatt muss ich eine Zeile einfügen. Soweit so gut. Hierzu verwende ich .Insert Shift:=xlDown.
'Begin: Neue Zeile in Tabellenblatt Gewährleistung anlegen
Sheets("Gewährleistung").Activate
With Range("B11").Offset(iMax, 0)
'Zeile 11 kopieren
Range("B11:O11").Copy
'Zeile 11 einfügen
.Insert Shift:=xlDown
'Firmennummer eintragen
.Value = iMax + 1
'in den kopierten Formeln "Firma 1" durch "Firma imax+1" ersetzen
With Application.Intersect(Range("B11:O11").EntireColumn, .EntireRow)
.Replace What:="Firma 1", Replacement:="Firma " & iMax + 1, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
'Kopiermodus ausschalten
Application.CutCopyMode = False
End With
End With
'End: Neue Zeile in Tabellenblatt Gewährleistung anlegen
Bis dahin geht auch Alles gut. Wenn ich jedoch die neue Firmennummer eintrage dann liegt der Pointer nicht mehr auf der eingefügten Zeile sondern 1.Zeile darunter.
Dies führt dazu, dass die nachfolgenden Befehle nicht ausgeführt werden, da diese Zellen leer sind.
Ich hoffe jemand von euch kann mir hier weiterhelfen. In einem anderen Teil der Anwendung habe ich dieselbe Funktionalität - ohne shiften - Spaltenbezogen abgebildet. Da funktioniert es einwandfrei.
VG Michael