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

Tabelle Spalten ausblenden

Tabelle Spalten ausblenden
02.08.2018 15:12:13
Mole
Hallo zusammen,
ich habe eine Tabelle, die durch einen VBA code berechnet wird. Manchmal gibt es Spalten in der Tabelle die alle den gleichen Eintrag "0(0 %)" haben. Ich möchte diese Spalten ausblenden oder löschen. Ich habe nun zwei Probleme.
1. ist über dieser Tabelle ist eine weitere Tabelle und wenn ich die ganze Spalte ausblende, ist sie auch in der anderen ausgeblendet.
2. Wie kann ich nur in der einer Tabellenspalte alle Einträge vergleichen ohne in der gesamten Spalte zu suchen. denn ist die obere Tabelle kleiner, ändert sich die erste Zeile der unteren Spalte. Die Tabellen haben einen Namen, womit man auf diese explizit zugreifen kann.
Ich hatte mir etwas überlegt wie (Minimalbeispiel):
for j= 1 to endj
for i= 1 to endi
If Cell(i,j)="0(0 %)"then
If Cell(i,j)="0(0 %)"then
usw then
lösche Spalte j
End if
usw
next i
next j
Schön ist das aber nicht.
Vielen Dank schonmal.
Gruß Mole

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle Spalten ausblenden
02.08.2018 17:45:53
Günther
Moin,
es ist extrem heiß, nicht wahr? Das wäre zumindest ein Grund dafür, dass du 1) weder den Code-Tag verwendest noch 2) den Code einrückst (das kann aber such die Folge von 1) sein), 3) ein zusammenhangloser Code-Ausschnitt... - Das einzige, was mir auffällt:Beim löschen gilt die goldene Regel-> immer vom Ende zum Beginn, nie umgekehrt.
Gruß
Günther
AW: Tabelle Spalten ausblenden
06.08.2018 15:11:48
Mole
Hallo Günter,
Ja es ist sehr heiß. Hier noch einmal für Sie mit Code-Tag und überarbeitetem Code. Ich denke mit der vorangegangenen Beschreibung ist der Code selbsterklärend. Es handelt sich hierbei wohlgemerkt um einen Pseudocode und nicht um korrekten Syntax.
Dennoch nochmal zu Erinnerung: Zwei untereinander stehende Tabellen (Tabelle1 und 2). In Tabelle2 sollen die Spalten, die nur aus "0(0%)" Einträgen bestehen, gelöscht oder ggf. ausgeblendet werden, sollte dies einfacher umzusetzen sein.

sub löscheSpalte()
delete as boolean
letzteZeileTabelle2 ,ErsteZeileTabelle2,letzteZeileTabelle2 as integer
letzteZeileTabelle2 ,ErsteZeileTabelle2,letzteZeileTabelle2 = ?
for j= 1 to letzteSpalteTabelle2 (Spalten)
delete = true
for i= ErsteZeileTabelle2 to letzteZeileTabelle2 (Zeilen)
If Cell(i,j)="0(0 %)"then
do nothing
else
delete = false
End if
Next i
if delete = true then
lösche Spalte j
End if
Next j
End sub

Hiermit lösche ich die Spalten, die nur aus Einträgen mit "0(0 %)" bestehen.
Mit diesem Code lösche ich aber auch die Spalte j der Tabelle1, die über meiner durchsuchten Tabelle2 steht. Nun bleiben weiterhin zwei Probleme:
1. Es soll nur Spalte j der Tabelle2 gelöscht werden und nicht Spalte j im Worksheet.
Wie kann ich den befehl "lösche Spalte j" in VBA umsetzen, so dass nur Spalte j aus Tabelle2 gelöscht wird.
2. Wie kann ich die Werte von letzteZeileTabelle2 ,ErsteZeileTabelle2,letzteZeileTabelle2 ermitteln (deshalb ? im Code), da sich diese dynamisch verhalten und variieren können.
Ich hoffe, dass dies ausreichend ist, dass Sie mir einen Lösungsvorschlag unterbreiten können, Günther.
Gerne auch nur mit Pseudocode, sofern nicht explizit notwendige Befehle verwendet werden müssen.
Ich will ja etwas lernen und nicht abschreiben.
Gruß Mole
Anzeige
AW: Tabelle Spalten ausblenden
06.08.2018 15:43:52
Mole
Kurzer Nachtrag: die erste Schleife sollte natürlich rückwärts laufen, um Ihre Verbesserung aufzugreifen.
AW: Tabelle Spalten ausblenden
06.08.2018 19:23:29
Werner
Hallo,
lade doch bitte mal eine kleine Beispielmappe in der du aufzeigst was, wann, wieso gelöscht werden soll. Mir zumindest ist das bisher nicht wirklich klar.
Gruß Werner

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige