Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: variabel Spalten Löschen

variabel Spalten Löschen
Hermann
Liebe Excel-Gemeinde,
leider komme ich mal wieder nicht weiter und hoffe auf
eure Unterstützung bei 2 für euch winzigen Problemchen.
1) Ich versuche variable Spalten zu löschen mit dem Befehl
ActiveSheet.union(range(cells(1,spaWeg+6),cells(99,spaWeg+25)).EntireColumn.Delete
dies funktioniert nicht. SpaWeg ist integer
2) ich versuche bei einem varablen Bereich die Formeln durch Werte zu ersetzen.
Dies funktioniert mit festen Spaltenangaben mit folgenden Befehlen
a = .[A:O]
.[A:O] = a
Wie aber geht das mit variablen angaben.
Sehr freue ich mich über einige tips hierzu
Mit freundlichem Gruß
Hermann
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: variabel Spalten Löschen
02.05.2010 18:27:25
Hajo_Zi
Hallo Josef,
Option Explicit
Sub Josef()
Dim spaWeg As Integer
spaWeg = 5
ActiveSheet.Range(Cells(1, spaWeg + 6), Cells(99, spaWeg + 25)).EntireColumn.Delete
End Sub

Anzeige
AW: variabel Spalten Löschen
02.05.2010 18:36:31
Hermann
Hallo Hajo,
du hast ja sensationell schnell geantwortet. Vielen Dank. Es fuktioniert auch klasse.
Ich war also auf dem ricchtigen Weg.
Könntest Du mir bei Punkt 2 auch noch hefen:
2) ich versuche bei einem varablen Bereich die Formeln durch Werte zu ersetzen.
Dies funktioniert mit festen Spaltenangaben mit folgenden Befehlen
a = .[A:O]
.[A:O] = a
Wie aber geht das mit variablen angaben. auch mit Range?
Sehr freue ich mich auch hierzu über einige tips
Mit freundlichem Gruß
Hermann
Anzeige
AW: variabel Spalten Löschen
02.05.2010 19:08:00
Hajo_Zi
Hallo Hermann,
mache es doch mit kopieren Werte.
Gruß Hajo
AW: variabel Spalten Löschen
02.05.2010 19:11:50
Erich
Hi Hermann,
das geht am besten so:

With Range("C1:C" & lngRow)
.Formula = .Value
End With
Noch eine Bemerkung zu "ActiveSheet":
In einer Zeile wie
ActiveSheet.Range(Cells(1, spaWeg + 6), Cells(99, spaWeg + 25)).EntireC...
ist "ActiveSheet" überflüssig, falsch oder unnötig.
Wenn schon, müsste man schon schreiben
ActiveSheet.Range(ActiveSheet.Cells(1, spaWeg + 6), ActiveSheet.Cells(99, spaWeg + 25)).EntireC...
Wesentlich dafür, welcher Bereich bezeichnet wird, ist nicht das "ActiveSheet" vor "Range".
Also: Entweder ganz weglassen:
Range(ActiveSheet.Cells(1, spaWeg + 6), ActiveSheet.Cells(99, spaWeg + 25)).EntireC...
Wenn ActiveSheet gebraucht wird (weil der Code nicht in einem Standardmodul steht),
dann besser so:

With ActiveSheet
.Range(.Cells(1, spaWeg + 6), .Cells(99, spaWeg + 25)).EntireC...
End With
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: variabel Spalten Löschen
02.05.2010 19:17:55
Hajo_Zi
Hallo Erich,
da Du keine Formel eintragen willst, was man bei Formula vermuten könnte. Reicht auf beiden Seiten auch Value.
Gruß Hajo
AW: variabel Spalten Löschen
02.05.2010 21:31:53
Hermann
Vielen Dank für die schnelle und gute Hilfe
Hat super funktioniert.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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