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

Bestimmte Spalten ermitteln und ausblenden

Bestimmte Spalten ermitteln und ausblenden
10.11.2018 20:07:53
Maverick
Hallo zusammen,
ich bin das erste Mal hier und benötige eure Hilfe!
Ich habe eine Tabelle gebaut, bei der jede Woche neue Werte und damit eine Spalte hinzukommt.
Unter der Wertetabelle befindet sich eine Grafik, die das Ganze visualisiert...
Nun soll eine PDF erstellt werden, welche immer die letzten 6 Wochen zeigt.
Die Grafik und die Tabelle sind dabei genau gleich breit.
Bis dato habe ich immer händisch die letzten Wochen "weg gruppiert".
Jetzt wäre ein Makro sehr hilfreich, welches (so wäre meine Idee) die letzte beschriebene Spalte ermittelt und dann die Spalten -12 und -13 ausblendet, damit die Tabelle genauso breit ist wie vorher, nur das jetzt eine Woche hinzugekommen ist und die älteste weg ist. Die Spalten A bis C stehen dabei immer fix drin.
Ich hoffe ihr habt (einigermaßen) mein Problem verstanden und Lösungen für mich :-)
Vielen Dank schonmal!!!
Lieben Gruß

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Spalten ermitteln und ausblenden
10.11.2018 20:54:28
Werner
Hallo,
Public Sub Ausblenden()
Dim loSpalte As Long
With Worksheets("Tabelle1")
loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Column
If loSpalte > 13 Then
.Columns(loSpalte).Offset(, -13).Resize(, 2).Hidden = True
End If
End With
End Sub
Gruß Werner
AW: Bestimmte Spalten ermitteln und ausblenden
10.11.2018 21:55:48
Maverick
Hallo Werner,
vielen Dank für die schnelle Antwort!
Klappt super! Werde es Montag in ein vorhandenes Makro einbauen... ggf. melde ich mich nochmal!
Besten Gruß
Gerne u.Danke für die Rückmeldung. o.w.T.
10.11.2018 22:29:55
Werner
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
11.11.2018 12:21:36
Maverick
Guten Morgen Werner (natürlich auch alle anderen ;-)),
ich habe bisher die Grafik aus einem anderen Tabellenblatt in das mit der Tabelle kopiert und daraus händisch eine PDF erstellt...
Wäre es nicht einfacher/ sinnvoller, das in einer neuen Datei zu machen?!
Die Grafik zu kopieren ist wahrscheinlich kein Problem, da sie immer an der "gleichen" Stelle in ihrem Tabellenblatt sitzt.
Allerdings stellt sich das bei der Wertetabelle komplizierter dar, weil hier zwar optisch die Position gleich bleibt, jedoch die "Spaltenbuchstaben" sich ja jede Woche verändern.
Gibt es trotzdem eine Möglichkeit, die Tabelle (am besten nur per Grafik, weil da eine ganze Reihe Verknüpfungen drin sind) per Makro in die neue Datei zu kopieren?
Wie würde darüber hinaus ein (simpler) Code aussehen, der die PDF anstoßen würde?
Anzeige
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
11.11.2018 13:54:13
Werner
Hallo,
also so richtig verstehen kann ich nicht, von was du hier sprichts.
Du willst irgendwelche Daten von einem Blatt in ein anderes kopieren. Das als Grafik, wegen der Bezüge.
Da stellt sich mir mal die Frage, weshalb du dann nicht einfach die Werte kopierst, dann ist das mit den Bezügen doch völlig egal.
Deine Angaben sind nicht gerade dazu geeignet, ein Makro zu basteln.
1. In welcher Spalte kann ich im "Quellblatt" die letzte belegte Zeile ermitteln
2. Die letzte belegte Spalte kann ich ja wohl in Zeile 1 ermitteln
3. Wohin soll im Zielblatt kopiert werden?
Gruß Werner
Anzeige
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
11.11.2018 17:09:33
Maverick
Hey,
okay sorry wenn das etwas verwirrend rüber kam!
Genau, ich habe bisher eine Datei mit mehreren Tabellenblätter. Aus denen kopiere ich mir bis dato eine Übersicht zusammen (Grafik aus Tab.Blatt A nach Tabl.Blatt B, wo die Wertetabelle ist).
Um dies zu automatisieren wäre ein Makro hilfreich, das mir sowohl die Grafik, als auch die Tabelle in eine zweite/ separate Datei kopiert...
Und die Tabelle möchte ich als "Grafik" reinkopieren, damit die Formatierung erhalten bleibt und sich keine Pop-up Fenster wegen den Bezügen öffnen.
1. In Zeile 5 kann in der Quelldatei (Blatt B) die letzte belegte Zeile ermittelt werden
2. sicherer ist Spalte B
3. Im Zielblatt (neue Datei) kann nach A1 kopiert werden
4. Grafik (Blatt A) liegt im Bereich A38 bis K78. Oder selektiert man die sparat an?
Danke!
Anzeige
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
11.11.2018 17:45:06
Werner
Hallo,
der Beitrag von dir macht die Verwirrung nicht wirkling kleiner.
1. scheinst du mir Zeilen und Spalten zu verwechseln.
2. schreibst du etwas von einer neuen Datei
3. kommst du immer noch mit der Grafik wegen der Bezüge
Test mal bitte folgendes Makro. Das kopiert deine "Wertetabelle" aber nicht als Grafik.
Quellblatt und Zielblatt mußt du anpassen.
Die letzte belegte Zeile wird in Spalte B ermittelt
Die letzte belegte Spalte wird in Zeile 5 ermittelt
Von daher gehe ich auch mal davon aus, dass dein Datenbereich, den du kopieren willst, in Zeile 5 der Quelltabellt beginnt.
Kopiert wird in die Zieltabelle A1.
Um weiteren "Mißverständnissen" vorzubeugen, lad doch mal bitte eine Beispielmappe hoch, die in ihrem Aufbau deinem Original entspricht.
Aber bitte als normale .xlsx, also ohne Makros, sonst kann ich mir die nicht herunterladen.
Public Sub kopieren_nur_Werte()
Dim loLetzteQ As Long, loLetzteZ As Long
Dim wsQ As Worksheet, wsZ As Worksheet
'Quellblatt bitte anpassen
Set wsQ = ThisWorkbook.Worksheets("Tabelle1")
'Zielblatt bitte anpassen
Set wsZ = ThisWorkbook.Worksheets("Tabelle2")
Application.ScreenUpdating = False
With wsQ
loLetzteQ = .Cells(.Rows.Count, 2).End(xlUp).Row
loSpalteQ = .Cells(5, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(5, 1), .Cells(loLetzteQ, loSpalteQ)).Copy
wsZ.Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
wsZ.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End With
Set wsQ = Nothing: Set wsZ = Nothing
End Sub
Gruß Werner
Anzeige
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
11.11.2018 18:50:59
Maverick
Hallo Werner,
das Makro funktioniert schonmal ganz gut. Leider geht jetzt meine Formatierung verloren...
Ah sorry, mit Zeile 5 meinte ich natürlich Spalte ermittelt...
Genau, wenn das Ganze jetzt noch in eine neue Datei kopiert und als "Grafik/Bild" eingefügt wird, ist es perfekt!
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
11.11.2018 19:00:58
Werner
Hallo,
die Beispielmappe bitte denn -was für eine Formatierung geht denn da verloren?
Und warum in eine neue Datei? Ich dachte, letztendlich geht es doch dann noch darum, das ganze als PDF zu exportieren, da braucht es doch keine neue Datei dafür.
Gruß Werner
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
11.11.2018 19:28:00
Maverick
Hey,
ich dachte eine neue Datei wäre sinnvoll, da man das Spiel ja jede WOche machen muss und ich so mir meine Ursprungsdatei "sauber" halte und nicht mit den wöchentlichen "PDF Blätter" voll mache...
vielen dank schonmal... bin jetzt leider unterwegs, würde dann morgen die Beispielmappe mal hochladen.
Anzeige
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
12.11.2018 08:51:02
Maverick
https://www.herber.de/bbs/user/125338.xlsx
Guten Morgen,
anbei die Beispielmappe... hoffe jetzt wird es klarer?! :-)
Vielleicht ist aber doch keine separate Datei nötig... ist es möglich, nur die Grafik in dieses Blatt unter die Tabelle kopieren zu lassen und damit die alte Grafik zu ersetzen?
Dies wäre der erste Schritt und der zweite dann die PDF zu erstellen
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
12.11.2018 10:14:58
Werner
Hallo,
was soll ich denn bitte damit?
Deine Wertetabelle ist eine Grafik.
Schick mir doch mal die Datei, aus der diese Grafik erstellt wird.
Ich habe keine Ahnung weshalb du hier so auf Grafiken/Bilder fixiert bist.
Gruß Werner
Anzeige
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
12.11.2018 10:50:43
Maverick
Hallo,
es sollte zur Veranschauung sein, damit du siehst, was ich mit Formatierung meinte...
aber egal, ich habe das Problem mit der Grafik schon gelöst :-)
Brauche jetzt lediglich einen Code, der mir aus einem ausgewählten Bereich (Tabelle + Grafik) eine PDF erstellt.
Ausgewählt, da die Überschrift und der Button für das Makro nicht mit drauf sollen.
Besten Gruß
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
12.11.2018 11:05:14
Werner
Hallo,
ok, wenn du keine Lust hast mir die Ursprungsdaten zur Verfügung zu stellen, dann lassen wir es halt.
Gruß Werner
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
12.11.2018 11:14:15
Maverick
Hey,
okay so war das nicht gemeint, nur ist nicht mehr nötig an dieser Baustelle zu arbeiten...
Aber trotzdem vielen Dank für deine Hilfe bis hierhin! :-)
Anzeige
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
12.11.2018 14:16:39
Maverick
Hallo Werner,
können wir es nochmal probieren? :-)
Also ich bin jetzt weg von der neuen Datei etc.
Hast du einen Code, der mir die Zeilen 3 bis 78 markiert und dann aus dieser Auswahl eine PDF erzeugt?!
Gruß
AW: Gerne u.Danke für die Rückmeldung. o.w.T.
12.11.2018 20:08:40
Werner
Hallo,
jetzt noch mal:
Es macht aus meiner Sicht absolut keinen Sinn, aus einem Datensatz zuerst eine Grafik zu erstellen, die dann in ein anderes Blatt zu kopieren um letztlich dann daraus eine PDF zu erstellen.
Deshalb nochmal:
Lade mal eine Datei hoch mit den ursprünglichen Daten aus denen du, warum auch immer eine Grafik erstellst.
Am besten dann auch noch mit der zweiten Grafik, die dann noch zusätzlich mit in die PDF soll.
Und, wenn du schon irgendwelchen Code hast, dann poste den doch bitte auch.
Die Datei selbst, wie schon angemerkt bitte ohne Makros.
Gruß Werner
Anzeige
kleines Beispiel
11.11.2018 14:22:24
Werner
Hallo,
hier mal ein kleines Beispiel.
Quellblatt = Tabelle1 / Zielblatt = Tabelle2
letzte belegte Zeile wird im Quellblatt in Spalte A ermittelt
letzte belegte Spalte wird im Quellblatt in Zeile 1 ermittelt
Die Daten (nur Werte) werden vom Quellblatt ins Zielblatt Zelle A1 kopiert
Public Sub kopieren_nur_Werte()
Dim loLetzteQ As Long, loLetzteZ As Long
Dim wsQ As Worksheet, wsZ As Worksheet
Set wsQ = ThisWorkbook.Worksheets("Tabelle1")
Set wsZ = ThisWorkbook.Worksheets("Tabelle2")
With wsQ
loLetzteQ = .Cells(.Rows.Count, 1).End(xlUp).Row
loSpalteQ = .Cells(1, .Columns.Count).End(xlToLeft).Column
.Range(.Cells(1, 1), .Cells(loLetzteQ, loSpalteQ)).Copy
wsZ.Cells(1, 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End With
Set wsQ = Nothing: Set wsZ = Nothing
End Sub
Gruß Werner
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige