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

VBA dynamischen Tabellenbereich

VBA dynamischen Tabellenbereich
29.08.2014 14:00:45
Sioo
Hallo, möchte gerne ein Macro erstellen um einen dynamischen Bereich zu markieren und dann als Tabelle zu formatieren. Habe den Macro recorder benutzt und folgendes erhalten:
Sub fTabelle()
Sheets("M1").Activate
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Rows("2:2").Select
Selection.Delete Shift:=xlUp
Range("A1:D5224").Select
Range("B8").Activate
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$5224"), , xlYes).Name = _
"Tabelle3"
Range("Tabelle3[#All]").Select
End Sub
Der erste Teil ist richtig, die 3 Zeilen und die Spalte A:A müssen immer gelöscht werden (da die SAP Datei immer so formatiert ist).
Aber der Teil Range("A1:D5224").Select ist dynamisch. Manchmal sind da mehr Zeilen, manchmal weniger. Würde gerne den zweiten Part dynamisch gestalten. (Letzte Zeile und Spalte automatisch erkennen und dann als Tabelle formatieren)

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA dynamischen Tabellenbereich
29.08.2014 14:15:52
yummi
Hallo Sioo,
ungetestet

Sub fTabelle()
Sheets("M1").Activate
Rows("1:1").Delete Shift:=xlUp
Columns("A:A").Delete Shift:=xlToLeft
Rows("2:2").Delete Shift:=xlUp
letztezeile = Sheets("M1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$D$" & letztezeile), , xlYes).Name = _
"Tabelle3"
Range("Tabelle3[#All]").Select
End Sub
Gruß
yummi

AW: VBA dynamischen Tabellenbereich
29.08.2014 14:26:14
Sioo
Hallo, danke für die schnelle Antwort. Das mit der letzten Zeile hat geklappt aber letzte Spalte nicht.
Habe eine Beispieldatei angehängt, wie es aus SAP kommt. https://www.herber.de/bbs/user/92387.xlsx

Anzeige
AW: VBA dynamischen Tabellenbereich
29.08.2014 14:40:56
yummi
hallo Sioo,
sry übersehen :-)
Du musst das "D" noch ersetzen, die letzte Spalte der zeile 4 holst du dir so
letztespalte = Sheets("M1").Cells(4, 256).End(xlToLeft).Column
dann im Range, wo das D steht letztespalte analog zu letztezeile einfügen
Gruß
yummi

AW: VBA dynamischen Tabellenbereich
29.08.2014 15:07:47
yummi
Hallo Sioo,
nimm folgenden Code, Du musst nur darauf achten, dass das Tabellenblatt hier M1 heisst

Option Explicit
Sub fTabelle()
Dim letztezeile As Long
Dim letzteSpalte As Integer
Sheets("M1").Activate
Rows("1:1").Delete Shift:=xlUp
Columns("A:A").Delete Shift:=xlToLeft
Rows("2:2").Delete Shift:=xlUp
letztezeile = Sheets("M1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
letzteSpalte = Sheets("M1").Cells(4, 256).End(xlToLeft).Column
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$" & WandleZahlInBuchstaben( _
letzteSpalte) & "$" & letztezeile), , xlYes).Name = _
"Tabelle3"
Range("Tabelle3[#All]").Select
End Sub
Function WandleZahlInBuchstaben(ByVal iWert As Integer) As String
Dim Spaltenbuchstabe As String
Spaltenbuchstabe = Right(Columns(iWert).Address, _
Len(Columns(iWert).Address) - _
InStrRev(Columns(iWert).Address, "$"))
WandleZahlInBuchstaben = Spaltenbuchstabe
End Function
https://www.herber.de/bbs/user/92390.xlsm

Anzeige
AW: VBA dynamischen Tabellenbereich
29.08.2014 15:15:44
Sioo
Danke schön! Klappt bestens

41 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige