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

Spaltenkopf

Forumthread: Spaltenkopf

Spaltenkopf
hajokle
Hallo zusammen,
ich habe eine Tabelle und muß die letzten 4 Spaltenkopfe ermitteln, ausschneiden und in die nächste freien Spalte einfügen, so dass 4 freie Spalten entstehen. Die letzte gefüllte Spalte finde ich mit dem Befehl: intNr = Cells(2, Columns.Count).End(xlToLeft).Column
Men Problem ist, dass dieser Befehl nur einen Wert wiedergibt (z.B: 30). Gibt es eine Möglichtkeitmit diesem Wert zu arbeiten? Ich stellen mir das so vor:
Columns("26:30").Select Das funktioniert aber nicht .
Ich bin für jeden Tip dankbar.
Gruß
HaJoKle
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spaltenkopf
12.08.2009 14:44:35
Hajo_Zi
Halo Hajo,
auf select kann in VBA verzichtet werden.
Spalten mit Zahlen ansprechen
Range(Columns(7), Columns(27)).Hidden=true

AW: Spaltenkopf
12.08.2009 15:18:43
hajokle
Vielen Dank,
für Deinen Tip. Soweit funktioniert das ausschneiden ganz gut. Wie füge ich nun die ausgeschnittenen Spalte wieder ein?
Gruß
HaJoKle
Anzeige
AW: Spaltenkopf
12.08.2009 15:23:40
Hajo_Zi
Hallo Hajo,
Excel hat auch einen Makrorecorder, der Code muss nur ein wenig bereinigt werden. Zum Ausschneiden habe ich nichts geschrieben. Die Spalten wurden ausgeblendet.
Gruß Hajo
AW: Spaltenkopf
12.08.2009 15:28:47
Matthias
Hallo
Dim intNr As Long
intNr = Cells(2, Columns.Count).End(xlToLeft).Column
If intNr > 4 Then
Range(Columns(intNr), Columns(intNr - 3)).Cut Destination:=Range(Columns(intNr + 1), Columns(  _
_
intNr + 4))
Else
Range(Columns(intNr), Columns(1)).Cut Destination:=Range(Columns(intNr + 1), Columns(intNr +   _
_
intNr))
End If

Gruß Matthias
Anzeige
AW: Spaltenkopf
12.08.2009 14:44:56
Luschi
Hallo HaJoKle,
so sollte es funktionieren:

Sub spaltenMarkieren()
Dim intNr As Integer
intNr = ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column
ActiveSheet.Columns(spBuchst(intNr - 3) & ":" & spBuchst(intNr)).Select
End Sub
Function spBuchst(xZahl As Integer)
spBuchst = Split(ActiveSheet.Cells(1, xZahl).Address, "$")(1)
End Function
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Spaltenkopf
12.08.2009 14:52:09
Daniel
Hi
soweit ich weis, kannst du bei Columns immer nur einzelne Spalten ansprechen.
brauchst du mehrere Spalten, dann so:
Range("26:30") oder Columns(26).Resize(,5) oder Range(Columns(26), Columns(30))
dein Problem würde duch einfügen von 4 leeren Spalten lösen.
Cells(2, Columns.Count).End(xlToLeft).offset(0,-3).Resize(,4).entirecolumn.insert
alternativ geht auch das hier:
With Cells(2, Columns.Count).End(xlToLeft)
.Offset(0, -3).Resize(, 4).EntireColumn.Cut
.Offset(-1, 5).Insert
End With
Gruß, Daniel
Anzeige
AW: Spaltenkopf - Korrektur
12.08.2009 15:03:20
Daniel
Sorry kleiner Fehler:
Range("26:30") geht auf Zeilen, nicht auf Spalten, dh wenn dann Range("Z:AD")
nur mit Buchstaben lässt es sich halt schlecht rechnen, daher würde ich, wenn mit Variablen gearbeitet wird, die beiden andern Varianten bevorzugen.
Gruß, Daniel
;

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