Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Aus VBA dynamische Tabelle generieren

Betrifft: Aus VBA dynamische Tabelle generieren von: Tobi Winzer
Geschrieben am: 09.09.2014 14:37:25

Hallo,

folgendes Problem:

ich möchte eine Tabelle erstellen, bei der die Anzahl von Zeilen von zwei verschiedenen Werten abhängt, die ich schon erfolgreich über eine UserForm auslese.

Die Anzahl von Spalten ist fest und soll 12 betragen.

Das was ich bisher zusammengeschrieben habe, sieht folgendermaßen aus (nicht besonders viel, ich weiß):

engctr = Worksheets("Input ").Range("C6").value + Worksheets("Input ").Range("c7").value
Set MyRange = Range("A5")

ActiveSheets.tables.Add Range:=MyRange, _
numRows:=engctr, _
numColumns:=12

engctr ist die Anzahl der Zeilen, die die Tabelle haben soll, da steht auch der richtige Wert drin.
Die Tabelle soll in der Zelle A5 beginnen
Im Nachhinein soll die Tabelle auch noch formatiert werden, aber ich denke ich bekomme das selbst hin.

Danke für eure Hilfe

  

Betrifft: AW: Aus VBA dynamische Tabelle generieren von: fcs
Geschrieben am: 09.09.2014 15:56:02

Hallo Tobi,

eine Tabelle, die manuell über das Menü Einfügen--Tabelle in einem Tabellenblatt eingefügt wird heißt unter VBA ListObject.

Dein Code für das Einfügen einer solchen Tabelle müsste etwa sein:

Sub aaTest()
  Dim a, engctr As Long
  Dim MyRange As Range
  If ActiveSheet.Name = "Input " Then
    MsgBox "Im Blatt ""Input "" darf die Tabelle/Liste nicht eingefügt werden!", _
      vbInformation + vbOKOnly, "Makro: aaTest"
    Exit Sub
  End If
  engctr = Worksheets("Input ").Range("C6").Value + Worksheets("Input ").Range("c7").Value
  Set MyRange = Range("A5")

  ActiveSheet.ListObjects.Add xlSrcRange, Source:=MyRange.Resize(engctr, 12)
End Sub
Gruß
Franz


  

Betrifft: AW: Aus VBA dynamische Tabelle generieren von: Rudi Maintaire
Geschrieben am: 09.09.2014 15:59:39

Hallo,
ein tables-Objekt gibt es nicht.

Schmeiß den Recorder an und füge eine Tabelle ein. Dann hast du die ungefähre Syntax.

Gruß
Rudi


 

Beiträge aus den Excel-Beispielen zum Thema "Aus VBA dynamische Tabelle generieren"