Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1716to1720
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
Inhaltsverzeichnis

Spalten löschen

Spalten löschen
07.10.2019 10:08:34
Waldow
Hallo Zusammen,
habe folgendes Problem, ich möchte mit dem vorhandenen Makro2() auf dem Tabellen Blatt 1 wie das Beispiel zeigt 5 Spalten von B1-B5, F1-F5 oder auch später mehrere Spalten löschen. Die Anzahl der Spalten werden mit dem Makro1() durch das Betätigen immer um 1 Spalte erweitert, der Spalten-Zähler müßte im Makro1() oder Makro2() mit einer For-Next Schleife intrigiert werden ? wäre das so möglich ?
Gruß Waldow
Option Explicit Diese ist nur ein Beispiel !
Sub Makro1()
'1   1   3   4   5
'3   2   1   3   1
'5   3   4   5   2
'2   4   2   2   4
'4   5   5   1   3
'$B$1 '$C$1 '$D$1 '$E$1 '$F$1
'$B$2 '$C$2 '$D$2 '$E$2 '$F$2
'$B$3 '$C$3 '$D$3 '$E$3 '$F$3
'$B$4 '$C$4 '$D$4 '$E$4 '$F$4
'$B$5 '$C$5 '$D$5 '$E$5 '$F$5
End Sub

Sub Makro2()
Dim DieZielSpalt As Long
DieZielSpalte = Cells(1, Columns.Count).End(xlToLeft).Offset(, 1).Column
DieZielSpalte = Application.MaxChange(DieZielSpalte, 5)
Cells(1, 1).Resize(5) = Application.Tranpose(Array(1, 2, 3, 4, 5))
Cells(1, DieZielSpalte).Resize(5).Value = Range("B1:B5").Value
End Sub

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten löschen
07.10.2019 10:29:26
Piet
Hallo Waldow
dein Code gibt mir absolute Raetsel auf. Kann sein das es moderne Befehl sind die ich als alter Mann nicht verstehe?
Von MaxRange habe ich noch nie gehört, auch bei Microsoft im Internet nichts dazu gefunden. Was meinst du damit?
Zudem holst du in ein und dieselbe Variable "DieZielSpalte" zweimal einen Wert! Da wird der 1. Wert klar überschrieben!
Ich habe den Code bei mir mal getestet, er rennt nur in Laufzeitfehler! Hat der bie dir jemals funktioniert?
Du sprichst von Spalten löschen, programmierst aber Werte einfügen. Was willst du mit dem Code wirklich erreichen?
Lade besser eine Beispieldatei hoch, wo du die Lösung von Hand vorgibst und uns erklerst was du wirklich erreichen willst.
mfg Piet
Anzeige
AW: Spalten löschen
07.10.2019 10:35:42
Piet
Nachtrag
das Makro1 hat überhaupt keine Funktion, weil alles auf Kommnetar gesetzt ist. Wie soll da was gezaehlt werden?
AW: Spalten löschen
07.10.2019 11:33:49
Waldow
Hallo Piet
Nein, der Code Makro2() hat bei mir auch nicht funktioniert, dashalb die Anfrage. Ich möchte nur 5 Spalten oder auch mehr auf einem Tabellenblatt 1 mit dem Makro2() löschen weiter nichts.
Das Makro1() ist hier außer funktion zu betrachten.
mfg Waldow
AW: Spalten löschen
07.10.2019 11:41:44
Torsten
Hallo Waldow,
Ich möchte nur 5 Spalten oder auch mehr.....loeschen, weiter nichts

dafuer muessten wir schon wissen, wieviele nun (5 oder mehr) und welche. Das musst du schon genauer erklaeren. Am besten waere eine Beispieldatei mit Ausgangssituation und Endwunsch.
Gruss Torsten
Anzeige
AW: Spalten löschen
07.10.2019 11:55:34
Waldow
Hallo Torsten,
es ist schwierig dir das zu erklären, ich habe mit nur vorgestellt wenn ich 5 Spalten auf einem Tabellenblatt habe die ich einfach löschen möchte, dafür dachte ich brauche ich doch nur ein lösch Code mit dem ich mit einem Button im Makro2() diese 5 Spalten löschen kann. und wenn das mehr werden die auch deshalb denke ich das man die Spalten zählen müsste um die Anzahl zu ermitteln.
mfg waldow
AW: Spalten löschen
07.10.2019 12:11:51
Werner
Hallo Waldow,
meinst du so was?
Die letzte belegte Spalte wird hier in Zeile 1 ermittelt. Von Spalte A bis zu letzten belegten Spalte werden alle Spalten gelöscht.
Public Sub aa()
Dim loSpalte As Long
With Worksheets("Tabelle1")
loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 1), .Cells(1, loSpalte)).EntireColumn.Delete
End With
End Sub
Gruß Werner
Anzeige
AW: Spalten löschen
07.10.2019 13:02:28
Torsten
Das war halt meine Frage, welche Spalten er loeschen moechte. Alle benutzten oder nicht, da er von 5 sprach und spaeter vielleicht mehr. Das war halt sehr undurchsichtig.
Ein Makro zum Spalten loeschen ist schnell gemacht, wenn man weiss, wieviele und welche Spalten geloescht werden sollen.
AW: Spalten löschen
07.10.2019 13:39:31
Waldow
Hallo Werner,
bekomme immer eine Fehlermeldung in dieser Spalte! Was mache ich nicht richtig?
Habe in der Spalte A1-A5,
B1-B5, C1-C5 D1-D5 E1-E5 je 5 Zahlen auf dem Tabellenblatt 1 geschrieben.
Variable nicht definiert.
loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column
mfg waldow
Anzeige
AW: Spalten löschen
07.10.2019 13:49:24
Waldow
Nur die 5 Spalten von A1-E1-5
AW: Spalten löschen
07.10.2019 15:44:18
Piet
Hallo Waldow
wenn du ganze Spalten löschen willst ist die Angabe von Zeile 5 überflüssig! Am einfachsten geht das so.
Sub Makro2()
Columns("A:E").Delete shift:=xlToRight
End Sub
mfg Piet
AW: Spalten löschen
08.10.2019 09:51:11
Waldow
Hallo Piet,
hab erstmal vielen Dank für deinen Code, er ist der erste der ohne Fehlermeldung bei mir funktioniert.
Eine Frage, könntest den Code so schreiben, dass er nur die 5 Spalten A1:A5--E1:E5 löscht und nicht wie jetzt den ganzen Bildinhalt nach recht verschiebt ?
mfg waldow
AW: Spalten löschen
08.10.2019 20:50:31
Piet
Hallo Waldow
freut mich das es schon mal geklappt hat. Ich glaube jetzt weiss ich was du meinst, probier es bitte mal so:
Range("A1:E5").Delete shift:=xlUp - So werden die Zellen von unten nach oben nachgeschoben!
mfg Piet
Anzeige
AW: Spalten löschen
09.10.2019 11:37:40
Waldow
Hallo Piet,
habe die Zeile ersetzt macht aber jetzt die Fehlermeldung Vatiable nicht definiert,was müsste ich machen?
mfg waldow
AW: Spalten löschen
09.10.2019 15:44:50
Piet
Hallo Waldow
befindet sich der Code in der With Klammer für "Tabelle1"?
Dann habe ich vielleicht den Punkt VOR .Range("A1:E5") vergessen! Probier es bitte mal mit Punkt.
mfg Piet
AW: Spalten löschen
10.10.2019 10:11:36
Waldow
Hallo Piet,
ja den Punkt und die Klammer hatte ich richtig mit geschrieben, aber trotz allem ist es die selbe
Fehlermeldung: .Range("A1:E5").Delete shift:=xlUp es ist diese Variable =xlUp die den Fehler macht beim kompelieren.
mfg waldow
Anzeige
AW: Spalten löschen
14.10.2019 11:29:26
Waldow
Hallo Piet,
bis hier erstmal vielen Dank.
Eine Frage wenn die Fehlermeldung lautet bei x1ToLeft Variable nicht definiert was fehlt denn da
mfg waldow
AW: Spalten löschen
14.10.2019 12:22:58
Daniel
Hi
da fehlt es dir an Sehschärfe.
die Variable heißt nicht: x-EINS-toLeft, sondern x-L-toLeft
das "xl" am Anfang ist die Kennzeichnung, dass es sich um eine Systemkonstante aus dem Umfeld von "Excel" handelt.
nur leider sehen sich "1" und "l" in machen Schriftarten sehr ähnlich und sind damit leicht zu verwechseln.
Gruß Daniel
AW: Spalten löschen
10.10.2019 17:35:10
Piet
Hallo Waldow
im Augenblick kann ich mir keinen Reim darauf machen was da schief laeuft? Der Code ist mit Makro Recorder aufgezeichnet.
Kannst du mir bitte mal den ganzen Code senden, von Anfang bis Ende. Irgendwo muss da ja ein Fehler drin sein ...
Sollte der Thread zu Ende sein findest du die Antwort im Archiv. Denk bitte daran das er bald im Server rausfaellt.
mfg Piet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige