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
Anzeige