Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige