Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
332to336
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
332to336
332to336
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Andere VBA Anweisung für - ActiveCell.Row

Andere VBA Anweisung für - ActiveCell.Row
10.11.2003 14:33:41
udo
Hallo und schönen Mittag zusammen,

wüsste mir bei folgender Aufstellung Jemand bitte einen Rat ?, Habe da nochmals so ein
Problem bei EXCEL 8 , welches aber auf XP läuft , komisch.

Es handelt sich nur um die Aufstellung best. definierter Zellen der gerade aktiven Zeile.

Sprich es handelt sich um einen Ausschnitt aus einem Makro, das in einer Tabelle in einer best, Spalte nacheinander nach unten hüpft ( Zellenweise ), und wenn es dann auf einen best.
Wert trifft, da sollen, oder werden von dieser Zeile einige Zellen gelöscht, und die restlichen Zellen jeweils unterhalb rutschen dann hoch.
Das funktioniert auch schon, zumindest auf XP, aber EXCEL 2000 & 97 meckern mal wieder.

Zum Fehler:

Der Debugger bringt mir den mit Range def. Bereich komplett gelb als Fehler ???

Wüsste Jemand eine andere Art der Darstellung dieses Range …. , damit ich in der aktiven Zeile beispielsweise dann die Zellen der Spalten:

Spalte 8 bis 14 und 51 bis 54 gleichzeitig anspreche, und dann die weitere Anweisung dann greift,
das wäre dann zB. Selection.Delete Shift:=xlUp

Es existiert kein Blattschutz usw. , lediglich in Spalte 51 bis 54 sind Formeln, diese Zellen sollen dann aber dennoch verschwinden, da ja der Bezug in 8 bis 14 auch gelöscht wird.

Hier mal mein Beispiel wie ich es seither beschrieben hatte :

With Cells(ActiveCell.Row, 8).Address & ":" & Cells(ActiveCell.Row, 14) .Address & _
Cells(ActiveCell.Row, 51).Address & ":" & Cells(ActiveCell.Row, 54).Address
Selection.Delete Shift:=xlUp
End With

Oder :

Range(Cells(ActiveCell.Row, 8).Address & ":" & Cells(ActiveCell.Row, 14).Address & _
Cells(ActiveCell.Row, 51).Address & ":" & Cells(ActiveCell.Row, 54).Address).Select

Selection.Delete Shift:=xlUp


Hab es auch schon mal ohne .Address probiert, funktionierte aber leider auch nicht.

Weis mir Jemand noch eine andere Möglichkeit der Auflistung.

Bin für jede Hilfe dankbar, Lieben Gruß einstweilen
udo D.
------------------------------------------------------------------------------

kann sein dass ich demnächst kurz wed muss, und mich später dann zurückmelde, wäre aber um eine rasche Antwort nicht unverbdn.
Danke euch allen schon mal im Voraus, ...

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Andere VBA Anweisung für - ActiveCell.Row
10.11.2003 15:02:56
Yal
Hallo Udo,

Du kannst mit "Delete" nur aneinander stehende Zellen löschen. Daher muß Du den Vorgang in 2 Schritten erledigen:


Sub Delete2Blöcke()
Range(Cells(ActiveCell.Row, 8), Cells(ActiveCell.Row, 14)).Delete Shift:=xlUp
Range(Cells(ActiveCell.Row, 51), Cells(ActiveCell.Row, 54)).Delete Shift:=xlUp
End Sub


Du siehst ebenfalls die etwa abgekürzte Variante der Definition eines Range: wir geben die oberste linke und unterste rechte Zellen als Objekte (statt "Address"), da Cells ein Untertyp von Range ist. Range baut damit das gesamte quadratische Bereich. Wir brauchen auch nicht unbedingt zu selectieren und anschliesend Selection abrufen (diese Gewöhnheit kommt vom Makro-Aufzeichner :-)

Dabei immer prüfen, dass die Makro im gezielte Blatt aggiert, da Daten gelöscht werden.

Yal
Anzeige
Super , ganz arg herzlichen Dank an Dich ,...
10.11.2003 22:30:04
Yal
Vielen lieben Dank, das wusste ich auch noch nicht. Das komische war nämlich
das es in meiner EXCEL 10 Version daheim, funktionierte.

Trotzdem Danke, Gruß udo

168 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige