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

Rahmen für dynamische Tabelle

Rahmen für dynamische Tabelle
12.03.2014 08:36:12
Mia
Guten Morgen :-)
ich habe folgendes Problem:
Ich habe eine Tabelle, bei der Inhalt bezüglich der Spalten und Zeilen nicht immer der selbe ist.
Ich möchte gerne verschiedene, farbige Rahmen um die Tabelle machen. Das bekomme ich auch mit dem Recoder hin, allerdings nicht den dynamischen Teil.
Bedingung ist:
- die erste Spalte (senkrecht) soll mit Farbe gefüllt werden, allerdings nicht bis zur Unendlichkeit sondern nur eine Zeile nach der letzten befüllten Zelle.
In meinem Beispiel wäre es dann von A1:A12.
Das selbe gilt für die erste Zeile sowie die erste, leere Zeile am Ende der Tabelle. Also z.B von A:E
- ich möchte gerne dann noch eine Überschrift hinzufügen, genau an der Stelle wo ich es habe. Wäre es da möglich, dies in VBA zu realsieren, dass nach dem ersten, freien, roten Kästchen (also Spalte) dann in der nächsten Spalte die Überschrift hinzugefügt wird?
So sieht meine Tabelle aus:
Und so soll sie aussehen:

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rahmen für dynamische Tabelle
12.03.2014 09:13:46
Oberschlumpf
Hi Mia
deine Darstellung ist fast schön - noch schöner wäre eine Bsp-Datei mit genau der Vorher- und Nachher-Ansicht.
Unklar für mich ist, weil in deinem Text gar nicht erwähnt, in beiden Ansichten Zeile 2.
Muss die graue Farbe auch enthalten sein und müssen die Einträge GROSSgeschrieben sein in Zeile 2?
Wie gesagt, am besten wäre eine Bsp-Datei mit eben genau den hier dargestellten Ansichten.
Ciao
Thorsten

AW: Rahmen für dynamische Tabelle
12.03.2014 10:22:40
Mia
Hallo Thorsten,
vielen Dank für die Antwort :-)
Anbei die Datei.
Du hast recht, ich habe total vergessen zu schreiben, was es mit der Zeile2 auf sich hat.
A,B,C ist nur exemplarisch für ein Wort, dessen Anfangsbuchstabe groß geschrieben wird und der rest klein :-)
Bei der angehängten Datei siehst du dann wie ich die Datei erhalte (VORHER) - die grauen Kästchen bleiben also so wie sie waren, außer die unbeschrifteten die dann eine Farbe durch den Rahmen erhalten.
Der Link zur Tabelle: https://www.herber.de/bbs/user/89638.xlsx
Liebe Grüße Mia

Anzeige
AW: Rahmen für dynamische Tabelle
13.03.2014 18:51:40
Mia
Hey Thorsten,
hast du eine Idee wie ich den Rahmen dynamisch gestalten kann? :-/

AW: Rahmen für dynamische Tabelle
13.03.2014 21:41:29
Oberschlumpf
Hi Mia
Zitat:
genau das war mein Problem... :-) Die Zeilen und Spalten sind nicht jedes mal gleich, d.h sobald eine Spalte bspw. "G" fehlt, geht das ganze nicht mehr auf und alles ist verrutscht.
Excel soll sozusagen selber wissen, wo es den Rahmen in der jeweiligen Farben ziehen soll - je nach Spaltenanzahl und Zeilenanzahl also dynamisch =)

DAS auch die Anzahl der Spalten sich ändern kann, hatte ich aus deinen bisherigen Infos nicht verstanden.
Aber auch genau das ist dann zumindest mein Problem für den Lösungsversuch.
Denn ich, und schon gar nicht Excel, weiß wie die Rahmenformatierung erfolgen soll, wenn z Bsp Spalte C fehlt, oder Spalte J oder Spalte L oder gar mehrere Spalten.
Und....welche Spalten genau fehlen können, weißt nur du.
Vielleicht ist es für uns hilfreich, wenn du eine weitere Bsp-Datei zeigst, die mehrere mögliche Szenarien für vorher enthalten und dann auch entsprechend für nachher.
Versprechen will ich nix, aber vllt fällt mir oder wem anders etwas ein, wenn wir Tabellen und nicht nur Wörter sehen.
Ciao erst mal
Thorsten

Anzeige
AW: Rahmen für dynamische Tabelle
13.03.2014 23:00:05
Mia
Hallo Thorsten,
hier meine neue Datei: https://www.herber.de/bbs/user/89665.xlsx
Was ich jetzt ein wenig deutlicher veranschaut habe ist, dass der Begriff innerhalb eines Rahmens immer mit dem gleichen Buchstaben beginnt. Wenn man jetzt z.b den zweiten Rahmen nimmt mit den Begriffen "B_C, B_G und B_A" suche ich mit einem Makro nach dem Begriff "B_C". Der erste Beriff B_C kommt immer vor, es kann halt je nachdem natürlich mehrere Spalten mit Begriffen geben oder auch nur eine mit "B_C". Sollte es z.b die komplette "Begriffreihe"-B nicht geben, meldet mir dass das Makro. Das Makro was ich hierfür verwende lautet:
Option Explicit
Sub suchen()
On Error GoTo Fehler
Cells.Find(what:="B_C").Activate
Columns(ActiveCell.Column).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorAccent3
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Exit Sub
Fehler:
MsgBox "Suchbegriff nicht gefunden"
End Sub
Ich habe sozusagen dann mehrere Makros die ich dann am Ende alle nacheinander ablaufen lassen will :-)

Anzeige
ich habs geschafft! :-)
14.03.2014 00:11:44
Oberschlumpf
...zumindest, was deine neue Bsp-Datei betrifft.
Wenn dein Original nur ein Mü abweicht, dann...dein Problem :-)
Hi Mia
hier erst mal die Datei:
https://www.herber.de/bbs/user/89666.xls
Ich hab mir alle aufgeführten Szenarien von dir angeschaut und dann meinenCode aufgebaut.
Der "rattert" nur erst mal immer die Zeile 2 ab und sucht nach der nächsten leeren Zelle in Zeile 2.
Diese Zelle merkt sich der Code.
Dann werden mit der ersten Farbe alle "Randzellen" gefüllt - rot
Während dessen wird nach der ersten Zelle MIT Text gesucht.
Wenn gefunden, erscheint direkt darüber das Wort "Überschrift".
Mit der zuvor gemerkten Zelle geht die Suche nach der nächsten, relevanten leeren Zelle in Zeile 2 weiter.
Wenn gefunden, wiederholt sich das Färben der Randzellen, jetzt mit Orange und auch der neue Eintrag "Überschrift".
Weiter gehts.
Nächste Treffer werden wieder mit Orange gefüllt.
Und im letzten Durchgang werden nur 3 "Seiten" mit gelb gefüllt.
Teste mal meinen Code mit den Tabellen "Vorher", "vorher_Szenario1" und "vorher_Szenario2".
Bedeutet, erst entsprechende Tabelle anzeigen, dann Code starten.
Mein Code ist so aufgebaut, dass immer die aktuell angezeigte Tabelle vom Code bearbeitet wird.
Merkwürdigkeiten, die mir auffielen:
In deiner Datei, in Tabelle "vorher_Szenario1" folgen nach dem ersten Datenblock DREI leere Spalten.
Ich vermute, da hast du wohl "geschlampt", und es sollen nur ZWEI leere Spalten sein.
Ich hab eine leere Spalte gelöscht.
Du möchtest für die eingefärbten Bereiche Überschriften haben.
Ich finde aber keine Möglichkeit, selbige aus den vorhandenen Daten generieren zu können, weil ich nicht weiß, wie die Überschriften heißen sollen.
Daher musst du überall in den Zeilen im Code, in denen "Überschrift" steht, eben die richtigen Überschriften eintragen.
So, hilfts denn jetzt?
Ciao
Thorsten

Anzeige
AW: ich habs geschafft! :-)
14.03.2014 07:49:51
Mia
Hallo Thorsten,
ich bin gerade ausgeflippt :-) vielen vielen Dank! Endlich habe ich dank dir eine Lösung für mein Problem gefunden.
Umso peinlicher ist es mir, dass ich noch eine Frage an dich habe. Mir ist leider erst gerade (typisch Frau :-D) eingefallen.. bzw. ich habe gemerkt, dass wenn z.B in einer Spalte ein Wert oder Buchstabe fehlt, diese Zeile auch als Rahmen in der jeweiligen Farbe gefärbt wird. Jetzt wollte ich das ganze abändern, dass die ganze Spalte leer sein muss, dass sie eingefärbt wird. Dabei bin ich auf "EntireRow" gestoßen.
Ich habe versucht den Code selber zu verändern, der Erfolg hält sich aber in Grenzen... O:-)
Liebe Grüße Mia
(hoffentlich zum letzten Mal :-))

Anzeige
AW: ich habs geschafft! :-)
14.03.2014 08:13:46
Oberschlumpf
HI Mia
Sorry, aber ich hab mir den Code noch mal angeschaut.
Einige Zellen vorher geleert. Aber mir fällt nix ein, dass dann die ganze Zeile geleert UND gefärbt wird.
Vllt hat Rudi oder wer anders ja noch ne Idee.
Ciao
Thorsten

AW: ich habs geschafft! :-)
14.03.2014 08:41:18
Mia
Hallo Thorsten,
trotzdem vielen Dank.
Ich habe mir überlegt ob ich eventuell ein Makro vorher laufen lasse, auf alle leeren Zwischenzeilen das mir dann bei jeder leeren Zeile ein Leerzeichen einfügt. Das sieht man nicht und dein Makro funktioniert dann wie gewünscht =)
LG Mia

AW: Rahmen für dynamische Tabelle
12.03.2014 10:58:59
Rudi
Hallo,
so?
Sub mia()
Dim rngA As Range, rngB As Range, rngC As Range
Application.ScreenUpdating = False
Set rngA = Cells(2, 2).CurrentRegion
Set rngB = Cells(1, 1).Resize(rngA.Rows.Count + 2, 5)
For Each rngC In rngB
If Intersect(rngA, rngC) Is Nothing Then
rngC.Interior.Color = RGB(255, 0, 0)
End If
Next
Set rngA = Cells(2, 7).CurrentRegion
Set rngB = Cells(1, 6).Resize(rngA.Rows.Count + 2, 4)
For Each rngC In rngB
If Intersect(rngA, rngC) Is Nothing Then
rngC.Interior.Color = RGB(228, 109, 10)
End If
Next
Set rngA = Cells(2, 10).CurrentRegion
Set rngB = Cells(1, 10).Resize(rngA.Rows.Count + 2, 2)
For Each rngC In rngB
If Intersect(rngA, rngC) Is Nothing Then
rngC.Interior.Color = RGB(228, 109, 10)
End If
Next
Set rngA = Cells(2, 12).CurrentRegion
Set rngB = Cells(1, 12).Resize(rngA.Rows.Count + 2, 2)
For Each rngC In rngB
If Intersect(rngA, rngC) Is Nothing Then
rngC.Interior.Color = RGB(255, 255, 0)
End If
Next
Cells(1, 2) = "Überschrift1"
Cells(1, 7) = "Überschrift2"
Cells(1, 12) = "Überschrift3"
End Sub

Gruß
Rudi

Anzeige
AW: Rahmen für dynamische Tabelle
12.03.2014 20:54:38
Mia
Hallo Rudi,
genau das war mein Problem... :-) Die Zeilen und Spalten sind nicht jedes mal gleich, d.h sobald eine Spalte bspw. "G" fehlt, geht das ganze nicht mehr auf und alles ist verrutscht.
Excel soll sozusagen selber wissen, wo es den Rahmen in der jeweiligen Farben ziehen soll - je nach Spaltenanzahl und Zeilenanzahl also dynamisch =)
Liebe Grüße Mia

AW: Rahmen für dynamische Tabelle
13.03.2014 18:51:25
Mia
Hey Rudi,
hast du eine Idee wie ich den Rahmen dynamisch gestalten kann? :-/

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige