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

Tabellengröße automatisieren

Tabellengröße automatisieren
11.12.2014 13:56:24
Sparrow
Hallo!
Ich bin auf der Suche nach einer VBA-Lösung um eine Tabellengröße je nach Zelleninhalt automatisch anzupassen. Genauer: Mein Code fügt bei Ausführung einen bestimmten Inhalt in die Tabelle ein, dieser Inhalt variiert in Zeilenanzahl, die Spaltenanzahl bleibt gleich. Ich möchte nun das Excel nach jeder Ausführung dieses Codes die Tabellengröße (Anzahl Zeilen) neu anpasst. Ist das möglich? Vg.Sascha

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellengröße automatisieren
11.12.2014 14:12:45
Matze
Hallo Sascha,
meinst du es so das sich die restlichen Zeilen und Spalten ausblenden.
Also nur die verwendeten Daten als Darstellung haben?
Gruß Matze

AW: Tabellengröße automatisieren
11.12.2014 14:36:28
Sparrow
Hey Matze,
ich meine tatsächlich dass die Größe der Tabelle nur die Anzahl Zeilen hat, wie auch wirklich benutzt werden. Ein Beispiel - ich habe 40 Zeilen und 3 Spalten mit Daten gefüllt, nun reduziert sich durch ein Makro die Zeilenanzahl der auf 30, nun sind aber die letzten 10 Zellen leer, die Tabellengröße soll sich dementsprechend reduzieren!
Eine Idee? Vielen Dank!
Vg
Sascha

AW: Tabellengröße automatisieren
11.12.2014 15:39:10
Matze
Hallo Sascha,
dann teste das mal, das ausblenden kann etwas dauern.
Der Code in ein Modul
Bei Aufruf wird das "aktive Blatt" damit behandelt:
Option Explicit

Sub Alle_ungenutzen_Zellen_Spalten_ausblenden()
Dim x As Long, i As Long

 With Application
 .ScreenUpdating = False
 .EnableEvents = False
 .DisplayAlerts = False
 End With

 x = ActiveSheet.UsedRange.Rows.Count + 1
 Rows(x & ":" & 1048576).Hidden = True
 
 For i = x - 1 To 1 Step -1
 If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
 Rows(i).Hidden = True
 End If
 Next i
 
 For i = 16384 To 1 Step -1
 If Application.WorksheetFunction.CountA(Columns(i)) = 0 Then
 Columns(i).Hidden = True
 End If
 Next i
 
 With Application
 .ScreenUpdating = True
 .EnableEvents = True
 .DisplayAlerts = True
 End With
End Sub

Sub alle_zellenu_spalten_an()

 With Application
 .ScreenUpdating = False
 .EnableEvents = False
 .DisplayAlerts = False
 End With

ActiveSheet.Unprotect
Cells.EntireColumn.Hidden = False
Cells.EntireRow.Hidden = False

 With Application
 .ScreenUpdating = True
 .EnableEvents = True
 .DisplayAlerts = True
 End With
End Sub
[size=8]Code eingefügt mit [url=http://vbahtml.origo.ethz.ch] VBA in HTML 2.3[/url][/size]
Gruß Matze
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige