Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1388to1392
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

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

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

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige