Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1092to1096
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

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

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
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
Anzeige
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige