Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

selection.Insert(xlshiftdown) geht nur ca. 400x

Forumthread: selection.Insert(xlshiftdown) geht nur ca. 400x

selection.Insert(xlshiftdown) geht nur ca. 400x
15.08.2003 12:32:58
Guenter
Hallo,

das Problem ist MS typisch und für mich völlig unlogisch. Ich habe ein kleines Makro (Auszug s. unten) in dem ich auf einfache Art zwei Textspalten auf grösse "< oder >" vergleiche. Je nach dem welcher Inhalt kleiner ist lasse ich Zellen mit "Selection.Insert(xlshiftdown)" einfügen.

Das funktioniert ganz Klasse bis zum Vergleich in Zeile ca. 446. Ab hier schaltet Excel intern auf "Selection.Insert(xlshiftright)" um und lässt sich im Moment nicht vom Gegendteil überzeugen. Da ich ca. 1000 Zeilen mit dieser Methode bearbeiten will ist das ziemlich *mistig*.

Hat jemand 'ne Idee?
.....Schonmal, danke.

- - - - - - - - - - -
Auszug aus dem Makro:
- - - - - - - - - - -
' Z = Zeilennummer
' LZ = Letzte Zeile der Liste

For Z = Z To LZ

Range("a" & Z).Select
A = ActiveCell.Value
Range("d" & Z).Select
E = ActiveCell.Value

' Definition der Spaltenbereiche
S1 = "A" & Z & ":" & "c" & Z
S4 = "D" & Z & ":" & "F" & Z

If A = E Then
GLEICH = GLEICH + 1
Else
If A < E Then
Range(S4).Select
On Error GoTo errorHaendler2
Selection.Insert (xlShiftDown)

' Funktioniert bis Zeile 446 einwandfrei,
' danach wechselt EXCEL auf "nach rechts verschieben"
' und das ist *bullshit* Im else-Zweig genauso.

Else
Range(S1).Select
On Error GoTo errorHaendler2
Selection.Insert (xlShiftDown)
End If
End If
Next

errorHaendler2:
If Not Error = 0 Then
TEXT = "Es ist ein Fehler in Zeile " & Z & "aufgetreten" _
& Chr(13) & "ABBRUCH"
MsgBox (TEXT)
End If

End Sub
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: selection.Insert(xlshiftdown) geht nur ca. 400x
15.08.2003 13:48:05
Michael Scheffler
Hallo,

das ist IMHO wieder ein typischer Fall, wo "Select" total fehl am Platz ist, das Ganze lässt sich viel eleganter ohne schreiben.

Gruß

Micha


AW: selection.Insert(xlshiftdown) geht nur ca. 400x
15.08.2003 14:16:55
Guenter
Hallo Micha,

wie würdest Du es eleganter schreiben?

Allerdings geht es mir mehr um die Programm-Lösung als um extrem eleganten Code. Aber jeder Tip ist sicher hilfreich.

Übrigens eine Anpassung auf..
z.B.
Range(S1).activate oder
Range(S1).insert

..ändert nichts am Problem.

Wäre nett wenn eine Idee hat, ansonsten muss ich das leider noch umständlicher lösen.

Grüße

Günter


Anzeige
AW: selection.Insert(xlshiftdown) geht nur ca. 400x
18.08.2003 08:47:28
Michael Scheffler
Hallo Günther,

was soll das z.B.
Range("a" & Z).Select
A = ActiveCell.Value

Warum nicht:

A = Range("a" & Z).Value oder noch besser:
A = Cells(Z, 1).Value

Gruß

Micha


;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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