Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Als Tabelle formatieren, unbekannte Zeilenanzahl

Frage Entwicklung VB for Applications

Mitglied: victorianer

victorianer (Level 1) - Jetzt verbinden

03.09.2013 um 21:49 Uhr, 10472 Aufrufe, 9 Kommentare

Schönen guten Abend,

schreibe gerade ein kleines Makro, welches ein Worksheet als Tabelle formatieren soll (um anschließend als Pivot verwendet zu werden), natürlich nur den Bereich mit Inhalt.
Da die Zeilenanzahl variabel ist, kann ich keinen festen Bereich definieren.

Meine Tabelle geht über die Spalten A bis X, hat keine Überschriften und startet in Zeile 2.

Mein Code:

Sub AlsTabelle()
Sheets("010").ListObjects.Add(xlSrcRange, Range("A2:X" & Cells(1, 1).End(xlDown).Row), , xlNo).Name = _
"Tabelle1"
End Sub


Den Part mit der Range habe ich aus dem Netz, und komme nicht so richtig mit klar was ich genau eintragen muss. Finde dazu leider auch keine Erklärung im Netz.
Bislang habe ich entweder das ganze Tabellenblatt (also zig tausend Zeilen), oder nur einzelne Zeilen als Tabelle formatiert bekommen.
Kann mir jemand von euch helfen? Was muss ich statt "Cells(1, 1)" schreiben, und warum?


Viele Grüße,
Victorianer
Mitglied: Xolger
03.09.2013 um 23:06 Uhr
Hallo Victorianer,

01.
Sub AlsTabelle() 
02.
Sheets("010").ListObjects.Add(xlSrcRange, Range("A2:X" & Range("A65536").End(xlUp).Row), , xlNo).Name = _ 
03.
"Tabelle1" 
04.
End Sub
So sollte es funktionieren, A65536 gibt die maximale Zeilenanzahl an in Spalte A.
Bei Excel > 2007 ist die maximale Zeilelanzahl größer 1 Million, bitte entsprechend anpassen.
Dann "sucht" sich Excel die letze Zeile und formitiert dir die Tabelle entsprechend.


Gruß
Xolger
Bitte warten ..
Mitglied: victorianer
04.09.2013 um 07:07 Uhr
Hallo Xolger,

danke erstmal für die schnelle Antwort.

Leider macht er mir wieder nur die Zeilen 2 bis 4 als Tabelle (von 30)
Bitte warten ..
Mitglied: victorianer
04.09.2013 um 07:43 Uhr
Update:
Habe mir jetzt mit folgendem Code helfen können:
ActiveSheet.ListObjects.Add(xlSrcRange, ActiveSheet.UsedRange, , xlYes).Name = "Table1"

Allerdings habe ich gelesen, dass es mit "UsedRange" Probleme geben kann. Kann mir das jemand erläutern?

Viele Grüße,
Victorianer
Bitte warten ..
Mitglied: 106543
04.09.2013 um 07:48 Uhr
Hi,

wenn du mit Usedrange arbeitest kann es passieren, dass du mehr formatierst als du wolltest, wenn z.B. in Zeilen 1-40 was steht und dann nochmal in Zeile 6000 dann wird von 1-6000 bearbeitet.

Grüße
Exze
Bitte warten ..
Mitglied: victorianer
04.09.2013 um 08:02 Uhr
Hi,

Ich verstehe, habe das Problem eben auch direkt gehabt. Gibt es eine Möglichkeit, das Blatt vorher komplett zu "clearen"?

Grüße,
Victorianer
Bitte warten ..
Mitglied: 106543
04.09.2013 um 08:17 Uhr
Hi,

du meinst das Blatt komplett zu löschen ?
Range("A1":"IV65536").Clear
wenn ich mich richtig erinnere. Musst vielleicht bisschen rumprobieren.

Grüße
Exze
Bitte warten ..
Mitglied: colinardo
04.09.2013, aktualisiert um 10:57 Uhr
Hallo Victorianer,
folgender Code sollte gehen, aber du musst beachten das Excel zum suchen der letzten Zeile deiner Daten in Spalte A nach einer Zelle sucht die Inhalt hat, wenn z.B. dein Datenbereich 30 Zeilen hat, aber in Spalte A nur bis Zeile 5 Daten stehen nimmt Excel diese Zeile als unterste Zeile für die entstandene Tabelle.

01.
Dim rangeSource As Range, table As ListObject 
02.
Set rangeSource = Range("A2", Range("A65536").End(xlUp).Offset(0, 23)) 
03.
Set table = ActiveSheet.ListObjects.Add(xlSrcRange, rangeSource)
Grüße Uwe
Bitte warten ..
Mitglied: 76109
04.09.2013, aktualisiert um 11:39 Uhr
Hallo victorianer!

Bei Verwendung der End()-Funktionen sind ein paar Besonderheiten zu beachten, die sich nicht ganz so einfach erklären lassen...

Sofern sichergestellt ist, dass Dein Tabellenbereich von Leerzellen umgeben ist z.B. Zeile 1 = Leer und X = Letzte Spalte, dann wäre dies für Deine Zwecke geeigneter:
01.
With Sheets("010") 
02.
    .ListObjects.Add(xlSrcRange, .Range("A2").CurrentRegion, , xlNo).Name="Tabelle1" 
03.
End With
Allerdings muss sich im Tabellenbereich von A2:X?, in den einzelnen Spalten mindestens eine Zelle mit Inhalt befinden d.h. CurrentRegion steht für zusammenhängende Zell-Blöcke.

Löschen aller Zellen geht z.B. mit:
01.
Sheets("010").UsedRange.Clear 
02.
'oder  
03.
Sheets("010").Cells.Clear
Löschen aller Zell-Formate geht z.B. mit:
01.
Sheets("010").UsedRange.ClearFormats 
02.
'oder  
03.
Sheets("010").Cells.ClearFormats
Gruß Dieter
Bitte warten ..
Mitglied: victorianer
05.09.2013 um 14:47 Uhr
Vielen Dank, ihr habt mir sehr geholfen!

Viele Grüße,
Victor
Bitte warten ..
Ähnliche Inhalte
Peripheriegeräte
Diskettenlaufwerk formatieren
Frage von beamenwaerschoenPeripheriegeräte7 Kommentare

Hallo, Ich hatte über Jahre mein eingebautes Floppy-Laufwerk im BIOS deaktiviert, weil nicht benötigt. Nun brauche ich es wieder, ...

Exchange Server
Mailempfänger unbekannt
Frage von JensDNDExchange Server10 Kommentare

Hallo Admins, wir haben eine MSExchange2016 eine Kollegin hat sein einiger Zeit das Problem, daß Mails an interne Adressen ...

Batch & Shell
Feld in Datum formatieren - bat
Frage von jochengBatch & Shell8 Kommentare

Hallo Leute ich bin neu hier und auf der Suche nach Hilfe. Ich habe folgendes Problem mit einer CSV ...

Batch & Shell
Excel mit Powershell formatieren
Frage von TastuserBatch & Shell13 Kommentare

Hallo, ist es möglich eine Excel-Datei mit Powershell zu formatieren? - Bestimmte Zellen bekommen eine bestimmte Größe - Bestimmte ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 4 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 11 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 22 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless16 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...