Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Letzte Spalte einer Gruppierung ermitteln

Letzte Spalte einer Gruppierung ermitteln
10.11.2014 09:05:56
Marcus
Hallo,
ich möchte gerne via VBA ermitteln, welche Spalte die aktuell letzte einer Gruppierung ist um dort eine neue Spalte aus einer Vorlage einzufügen.
Das Einfügen sollte kein Problem darstellen, einzig das ermitteln der richtigen Stelle dafür.
Ein Beispiel habe ich mal angehängt.
https://www.herber.de/bbs/user/93645.xlsm

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Spalte einer Gruppierung ermitteln
10.11.2014 09:35:47
RPP63
Hallo!
Sub Verschieben()
Dim NeueSpalte As Long
With Tabelle1
NeueSpalte = .Cells(3, 1).End(xlToRight).Column + 1
.Columns(8).Cut .Columns(NeueSpalte)
End With
End Sub

Gruß, Ralf

AW: Letzte Spalte einer Gruppierung ermitteln
10.11.2014 09:39:46
Marcus
Das sieht schon sehr vielversprechend aus, ich bekomme allerdings einen Laufzeitfehler bei der Spalte mit dem Cut angezeigt.
Was ich vergas zu erwähnen, es bestehen mehrere Gruppen auf dem jeweiligen Tabellenblatt.
Diese möchte ich mit jeweils einem Button versehen, über den ein neues Mitglied zur jeweiligen Gruppe hinzugefügt wird, die Gruppe müsste also eindeutig angesprochen werden können.

Anzeige
AW: Letzte Spalte einer Gruppierung ermitteln
10.11.2014 10:26:50
fcs
Hallo Marcus,
lege für die Zellen in Zeile 1, in deren Spalte das -/+ Symbol der Gliederung angezeigt wird, jeweils einen Namen fest.
Über den Namen der Zelle kann man die Einfügespalte ermitteln.
Gruß
Franz
Sub NachGruppe1()
Dim SpaCopy As Long, SpaLetzte As Long, intGroupLevel As Integer
Dim ZelleGruppe As Range
Set ZelleGruppe = ActiveSheet.Range("SumGruppe1") 'Zelle in Summenspalte der Gliederung
intGroupLevel = ZelleGruppe.EntireColumn.Offset(0, -1).OutlineLevel
SpaCopy = 14   'Spalte, die kopiert/ausgeschnitten werden soll
With ActiveSheet
.Columns(SpaCopy).Copy  'Spalte wird kopiert und der Gliederung hinzugefügt
'    .Columns(SpaCopy).Cut   'Spalte wird ausgeschnitten und der Gliederung hinzugefügt
End With
ZelleGruppe.EntireColumn.Insert
Application.CutCopyMode = False
ZelleGruppe.EntireColumn.Offset(0, -1).OutlineLevel = intGroupLevel
End Sub

Anzeige
AW: Letzte Spalte einer Gruppierung ermitteln
10.11.2014 11:34:30
Marcus
Hallo Franz,
ich weiß zwar nicht wieso, aber ich muss immer den Namen der Nachfolgenden Gruppe angeben, damit an der korrekten Stelle eingefügt wird, aber ansonsten klappt dies wirklich perfekt.
Vielen Dank :)

AW: Letzte Spalte einer Gruppierung ermitteln
10.11.2014 12:43:38
fcs
Hallo marcus,
ich weiß zwar nicht wieso, aber ich muss immer ...
Das kann an der Anordnung der Hauptspalten der Gliederung liegen.
Standardmäßig sind diese rechts so wie in deinem Beispiel. Falls du diese Option geändert hast, dann sind die Hauptspalten links von den Detaildaten. In diesem Fall muss du ohne Änderung des Makro jeweils eine Zelle rechts von den Detaildaten nehmen - dies ist dann jeweils die Hauptspalte der folgenden Gruppe. Zusätzlich musst du für die letzte Gruppe dann die Zelle neben den Datildaten mit einem Namen versehen.
Gruß
Franz
Anzeige
;

Forumthreads zu verwandten Themen

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