Microsoft Excel

Herbers Excel/VBA-Archiv

Wie komplette Spalten löschen

Betrifft: Wie komplette Spalten löschen von: Chrissi
Geschrieben am: 17.09.2014 16:14:50

Hallo Ihr Profis,

ich versuche seit einer geschlagenen Stunde komplette Spalten zu löschen und war eigentlich auch der Meinung, dass ich mit folgender Zeile richtig läge:

from = 1
to = 5

Worksheets("test").Range(Columns(from), Columns(to)).Delete

das funktioniert jedoch leider genauso wenig wie:

test.Range(Cells(1, from), Cells(1, to)).EntireColumn.Delete

Irgendwo muss ich einen Knick im denken haben. Wäre schön, wenn Ihr den lösen könntet.

Vielen Dank

  

Betrifft: AW: Wie komplette Spalten löschen von: Luschi
Geschrieben am: 17.09.2014 16:25:23

Hallo Chrissi,

mach es so:

Sub test1()
    'diese Variablendefinition läßt der Vba-Debugger nicht zu - warum wohl???
    'Dim from As Integer, to As Integer
    
    'deshalb so:
    Dim fromm As Integer, too As Integer
    
    fromm = 1
    too = 5
    
    'und jetzt klapts es auch
    Worksheets("test").Range(Columns(fromm), Columns(too)).Delete
End Sub
Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: Wie komplette Spalten löschen von: Uwe
Geschrieben am: 17.09.2014 16:26:18

probier mal das...
Worksheets("test").Range(Columns(1), Columns(5)).delete
für die Spalten 1 bis 5.
Grüße Uwe


  

Betrifft: AW: STOCKFEHLER um es mit von: Daniel
Geschrieben am: 17.09.2014 17:05:46

einer sportlichen Vokabel auszudrücken:

Zellbezüge in VBA (das sind Range, Cells, Columns, Rows) ohne Tabellenblattangabe davor beziehen sich immer auf das aktive Tabellenblatt.
Das gilt auch für die Zellbezüge innerhalb der Range.

Deswegen:

Worksheets("test").Range(Worksheets("test").Columns(from), Worksheets("test").Columns(to)).Delete
diesen etwas aufwendigen Code kann man mit der WITH-Klammer verkürzen (beachte die Punkte):
WITH Worksheets("test")
.Range(.Columns(from), .Columns(to)).Delete
End With
oder mit der Resize-Funktion
Worksheets("test").Columns(from).Resize(, to - from + 1).delete
Gruß Daniel


  

Betrifft: AW: noch größerer STOCKFEHLER... von: Luschi
Geschrieben am: 17.09.2014 17:21:21

Hallo Daniel,

hättest Du Deinen vorgeschlagenen Code erst mal im Vba-Editor getestet, würdest Du das hier sehen:



Gruß von Luschi
aus klein Paris

PS: egal ob mit oder ohne 'Option Explicit'


  

Betrifft: AW: noch größerer STOCKFEHLER... von: Daniel
Geschrieben am: 17.09.2014 17:51:36

künftig beleass ichs halt bei dem Hinweistext, dass das Tabellenblatt vor jedem Zellbezug angegeben werden muss, dann kann ich da keinen Fehler machen.
Gruß Daniel


  

Betrifft: AW: noch größerer STOCKFEHLER... von: Luschi
Geschrieben am: 17.09.2014 18:13:28

Hallo Daniel,

ich hoffe doch, daß Du auch künftig passablen Vba-Code hier postest, nur eben nicht so aus der Hüfte geschossen (aus der Lamäng) - Theoretiker laufen hier schon genug rum.

Gruß von Luschi
aus klein-Paris

Grund des Vba-Fehlers: es wird der Variablenname 'to' angemeckert.
Eine Variablendefinition: 'Dim to As Integer' wird von Debugger verworfen.



  

Betrifft: AW: noch größerer STOCKFEHLER... von: Daniel
Geschrieben am: 17.09.2014 18:26:34

Hi
ich hab halt den Code kopiert und mir Gedacht, fehler die du schon korrigiert hast, brauche ich nicht nochmal wiederholen.
Gruß Daniel


  

Betrifft: Kann es sein, ... von: Luc:-?
Geschrieben am: 18.09.2014 16:43:26

…Luschi,
dass du hier unterschwellig einen (künstlichen) Ggsatz zwischen Theorie & Praxis postulierst? Was dabei herauskommen würde, hat Branstner ja in einer seiner Erzählungen ironisierend dargestellt. Man sollte nicht vergessen, dass ohne Theorie keines unserer hoch­komplexen modernen „Spielzeuge“ existieren würde.
Also will ich mal davon ausgehen, dass du einen ganz anderen Personenkreis meinst, der weder mit dem einen noch dem anderen Begriff personen-/tätigkeitsbezogen so pauschal zu charakterisieren wäre…
Gruß, Luc :-?

Besser informiert mit …


  

Betrifft: ... und das 40min nach deinem BT, ... von: Luc:-?
Geschrieben am: 17.09.2014 18:06:12

…Luschi… ;->>
Er scheint den ja nicht gelesen zu haben…
Warum die VBA-Eleven so oft englische VariablenNamen verwenden wollen, ist mir ohnehin schleierhaft; ist wohl „cooler“…
Aber damit sind solche Probleme geradezu vorpgmmiert!
Das passiert allerdings auch Lehrkräften — so hat mal eine VSchul-Dozentin den Feldnamen Name in einem Access-Kurs verwendet → nicht unbedingt Englisch, aber… ;->
Gruß, Luc :-?


 

Beiträge aus den Excel-Beispielen zum Thema "Wie komplette Spalten löschen"