Microsoft Excel

Herbers Excel/VBA-Archiv

Laufzeitfehler bei Tabelle

Betrifft: Laufzeitfehler bei Tabelle von: Alexander
Geschrieben am: 11.10.2020 13:15:18

Hallo,



habe ein Problem beim erstellen einer Tabelle. https://www.herber.de/bbs/user/140804.xlsm



Und zwar habe ich eine Tabelle erstellt bei der ich mit STRG+M eine neue Zeile in der Tabelle hinzufüge, Einnahmen/Ausgaben einpflege und diese Summen in den Zellen (eigentlich) unter der Tabelle stehenden Felder ausgebe will.


Nun wächst die Tabelle aber über meine Ausgaben hinweg und fügt nicht jedes mal eine neue Zeile ein. Deswegen habe ich die Ausgaben neben die Tabelle setzen müssen was natürlich für den Ausdruck nicht besonders schön ist. Meine Ausgaben müssten sich irgendwie bei jeder neuen Tabellenblatt Zeile auch um eine nach unten verschieben. Ist das irgendwie möglich?


Darüberhinaus würde ich gerne noch den aktiven Tabellennamen herausfinden.


z.b.

Set tbl = ActiveSheet.ListObjects("TabelleVonAktivenBlatt")


Da meine ("Tabelle 2") nur für das Blatt Januar gilt und im Oktober es Tabelle 11 wäre. Gibt es für meine Variable "TabelleVonAktivenBlatt" noch eine simplere Lösung?

Betrifft: AW: Laufzeitfehler bei Tabelle
von: Nepumuk
Geschrieben am: 11.10.2020 13:21:13

Hallo Alexander,

einfach so:

Set tbl = ActiveSheet.ListObjects(1)

Gruß
Nepumuk

Betrifft: AW: Laufzeitfehler bei Tabelle
von: Alexander
Geschrieben am: 11.10.2020 13:26:19

Ach super. Genau so etwas meinte ich! Danke dir Nepumuk!

Hast du eventuell auch eine Lösung zum ersten Teil der Frage?


LG

Betrifft: AW: Laufzeitfehler bei Tabelle
von: Alexander
Geschrieben am: 11.10.2020 13:31:08

Ich müsste noch irgendwo hier eine Zeile einfügen die meine Ausgaben eine Zeile hinunter wandern lassen:
Sub TabelleErweitern()
'
' TabelleErweitern Makro
'
' Tastenkombination: Strg+m
'
'Erweitert die Tabelle um eine Zeile


ActiveSheet.Unprotect


  Set tbl = ActiveSheet.ListObjects(1)
  
  Set Rng = Range(tbl.Name & "[#All]").Resize(tbl.Range.Rows.Count + 1, tbl.Range.Columns.Count) _


"insert row bei tb.Range.Rows.Count +1
  
  tbl.Resize Rng

 ActiveSheet.Protect

End Sub


Betrifft: AW: Laufzeitfehler bei Tabelle
von: Nepumuk
Geschrieben am: 11.10.2020 13:40:01

Hallo Alexander,

ich versteh nicht worauf das hinauslaufen soll. Ich lass die Frage offen.

Gruß
Nepumuk

Betrifft: AW: Laufzeitfehler bei Tabelle
von: ralf_b
Geschrieben am: 11.10.2020 13:53:13


tbl.ListRows.Add

und deine Ausgaben können auch drunter stehen bleiben

Betrifft: AW: Laufzeitfehler bei Tabelle
von: Alexander
Geschrieben am: 11.10.2020 14:00:11

Perfekt! Das ist es. Nur eine statt 3 Zeilen. Danke vielmals!!

Betrifft: gerne owt
von: ralf_b
Geschrieben am: 11.10.2020 14:02:17