Office: (Office 2016) Excel Tabelle Automatische Zeile hinzufügen

Helfe beim Thema Excel Tabelle Automatische Zeile hinzufügen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich bin seit Stunden am suchen nach einer lösung meines problems undzwar habe ich in Excel ein Formular erstellt und die Daten die... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von xmanuel, 14. Juli 2022.

  1. xmanuel Neuer User

    Excel Tabelle Automatische Zeile hinzufügen


    Hallo zusammen,

    ich bin seit Stunden am suchen nach einer lösung meines problems undzwar habe ich in Excel ein Formular erstellt und die Daten die dabei eingetragen werden sollen in eine Tabelle ( Intelligente tabelle)sozusagen abgespeichert werden (Selbe arbeitsmappe).

    Ich habe über die Markro aufzeichnung bereits mehrfach versucht dass excel mir so praktisch eine neue zeile in dem anderen Tabellenblatt macht, dies hat bis jetzt noch gar nicht funktioniert.

    Was ich brauche ist entweder die möglichkeit das die tabelle automatiesiert erkennt das die erste zeile voll ist und eine neue sofort darunter erstellt werden muss. Oder das makro muss umgeschrieben werden. Option eins sollte die leichtere variante sein.
     
    xmanuel, 14. Juli 2022
    #1
  2. d'r Bastler
    d'r Bastler hat Ahnung
    Moin Manuel,
    mit
    Code:
        ActiveSheet.Rows(2).Insert
        Sheets("DeineTabelle").Rows(2).Insert
    fügst Du jeweils oberhalb der Zeile 2 eine neue ein.
    Code:
        ActiveSheet.Rows(2).Insert
        Cells(2, 1).FillUp
    nimmt auch gleich noch die Formel in Spalte A mit.
    Grüße

    Nachtrag: Ohne Deine Tabelle zu kennen kann Dir niemand eine Automatisierung bauen.
     
    Zuletzt bearbeitet: 14. Juli 2022
    d'r Bastler, 14. Juli 2022
    #2
  3. Exl121150 Erfahrener User
    Hallo Manuel,

    wenn deine (intelligente) Tabelle im aktiven Arbeitsblatt den Namen "tbTabelle" hat, dann müsste folgender VBA-Code reichen, um eine neue Zeile am Ende der Tabelle anzufügen:

    Code:
    Option Explicit
    Public Sub ZeileAnfügen()
      Dim lstObj As ListObject
      Set lstObj = ActiveSheet.ListObjects("tbTabelle")
      lstObj.ListRows.Add
    End Sub
    
    Dieser VBA-Code gehört in ein allgemeines Codemodul kopiert. Den Namen der Tabelle "tbTabelle" müsstest du an deine Verhältnisse anpassen.
     
    Exl121150, 14. Juli 2022
    #3
    1 Person gefällt das.
  4. xmanuel Neuer User

    Excel Tabelle Automatische Zeile hinzufügen

    Also ich habe jetzt meine excel mappe aufgemacht Alt+F11 gedrückt und dann hat sich VBA geöffnet... Code eingefügt... Herausgefunden wie der name meiner Tabelle ist über das register Tabellentools -> entwurf... Namen Kopiert und ersetzt... abgespeichert... nun tut sich aber nix mehr ich schreibe die Komplette erste Zeile meiner Tabelle voll und drück am schluss Enter... es tut sich nichts
     
    xmanuel, 14. Juli 2022
    #4
  5. Exl121150 Erfahrener User
    Hallo,

    dir ist aber schon klar, dass es sich um eine VBA-Sub handelt. Diese war gedacht als Denkanstoß, von der du weiterarbeiten kannst. Schließlich muss man sämtliche VBA-Makros explizit aufrufen - sie starten sich nicht von selbst.

    Aufgerufen kann es zB. werden durch Drücken der Tastenkombination Alt+F8, Auswahl der Sub im Dialogfenster und Drücken des Ausführen-Butttons).

    Oder man kann auch einen Button ins Arbeitsblatt einfügen und diesen mit dem Makro verknüpfen, was dann etwas bequemer ist als die vorgenannte Methode.

    In der beiliegenden Datei habe ich dir eine solche Beispieltabelle eingefügt (Name: "tbTabelle") und ebenfalls einen Button, der mit dem Makro verknüpft ist.

    Wenn das aber nicht gewünscht sein sollte, musst du eine Beispieldatei hochladen, in der die wesentliche Dinge enthalten sind und aus der man sieht, was du wünschst - wie es bereits mein Vorredner erwähnt hat.
     
    Exl121150, 15. Juli 2022
    #5
  6. xmanuel Neuer User
    Also ich hätte gerne das im Register "Formular" man eben die daten ausfüllt und dann sollte diese Person bei zb. Ausflug 1 und Ausflug 3 dabei sein dort diese dann bestätigt eben diese dann im jeweilige vorgesehene registerblatt eingefügt wird.

    Mein problem war bis jetzt immer das sich die zeile nicht nach dem Bestätigen nicht eine Zeile darüber eingefügt hat und ich nicht somit die liste wortlaufend weiterführen konnte ohne aufwand.
     
    xmanuel, 15. Juli 2022
    #6
  7. Exl121150 Erfahrener User
    Hallo,

    ich habe in deiner Datei einiges geändert und ergänzt:

    1) Ich habe den benannten Bereich "Formular" eingefügt in den Namensmanager.

    2) Ich habe die Namen der (intelligenten) Tabellen in den Ausflüge(Nr)-Arbeitsblättern geändert auf "TabelleA" & Nr des Ausflugs.

    3) Ich habe den 1. Bestätigen-Button verknüpft mit dem Makro "Ausflugsbestaetigung_Anfügen()". Klickt man auf diesen, werden alle Daten im Formular übertragen in die Tabellen der Arbeitsblätter "Ausflüge (Nr)", sofern die entsprechenden Ausflüge auf "JA" gestellt wurden.
    Dieses Makro befindet sich im allgemeinen Codemodul "Modul1".

    4) Ich habe diesen Bestätigen-Button 1x geklickt, sodass jetzt die im Formular enthaltenen Demo-Daten in den Tabellen enthalten sind.

    Code:
    Option Explicit
    
    Type KindDaten
      Name As String
      Vorname As String
      Alter As Integer
      Handy As String
      Sonst As String
    End Type
    Type AusflugDaten
      Nr As Integer
      JaNein As Boolean
      Abholg As String
      Zahlg As String
      Foto As String
    End Type
    
    Public Sub Ausflugsbestaetigung_Anfügen()
      Dim rngFormular As Range
      Dim rngAusflug As Range
      Dim AusflugNr As Integer
      Dim Kind As KindDaten, Ausflug As AusflugDaten
    
      With Range("Formular")
     
          'Hole zuerst die Stammdaten des Kindes (AusflugNr = 0) und
          'dann die Daten der Ausflüge (AusflugNr = 1 bis 10)
          For AusflugNr = 0 To 10
             Select Case AusflugNr
               Case 0: 'Holde die Stammdaten des Kindes
                       Set rngAusflug = .Columns(1).Find(What:="Name des Kindes", LookIn:=xlValues, LookAt:=xlWhole, Searchdirection:=xlNext)
                       If rngAusflug Is Nothing Then
                       Else
                          With Kind
                             .Name = rngAusflug.Offset(0, 1).Value
                             .Vorname = rngAusflug.Offset(2, 1).Value
                             .Alter = rngAusflug.Offset(4, 1).Value
                             .Handy = rngAusflug.Offset(6, 1).Value
                             .Sonst = rngAusflug.Offset(0, 6).Value
                          End With
                       End If
               Case 1 To 10: 'Ausflügedaten
                       'Suche in Spalte 1 von Bereich "Formular" nach dem Text "Ausflug (...)"
                       Set rngAusflug = .Columns(1).Find(What:="Ausflug (" & AusflugNr & ")", LookIn:=xlValues, LookAt:=xlWhole, Searchdirection:=xlNext)
                       If rngAusflug Is Nothing Then
                          MsgBox Prompt:="Ausflug " & AusflugNr & " nicht vorhanden."
                       Else
                          'Hole die entsprechenden Daten des Ausflugs
                          With Ausflug
                             .Nr = AusflugNr
                             .JaNein = rngAusflug.Offset(0, 3).Value
                             .Abholg = rngAusflug.Offset(1, 1).Value
                             .Zahlg = rngAusflug.Offset(2, 1).Value
                             .Foto = rngAusflug.Offset(3, 1).Value
                          End With
                          'Füge Kind in der entsprechenden Ausflugstabelle an
                          Call Ausflug_KindAnfuegen(Ausflug, Kind)
                       End If
                      
             End Select
          Next AusflugNr
        
      End With
    End Sub
    Private Sub Ausflug_KindAnfuegen(Ausflug As AusflugDaten, Kind As KindDaten)
      Dim WsAusflug As Worksheet
      Dim lstAusflug As ListObject
      Dim rowAusflug As ListRow
     
      If Ausflug.JaNein Then
     
         'Kind wird angefügt, weil Ausflug(Nr) JA ist.
         'und zwar in der (intelligenten) Tabelle "TabelleA..." des Arbeitsblattes "Ausflug (...)"
         Set WsAusflug = Worksheets("Ausflug (" & Ausflug.Nr & ")")
         Set lstAusflug = WsAusflug.ListObjects("TabelleA" & Ausflug.Nr)
         Set rowAusflug = lstAusflug.ListRows.Add
        
         With rowAusflug.Range
            .Cells(1) = Kind.Name: .Cells(2) = Kind.Vorname
            .Cells(3) = Kind.Alter: .Cells(4) = Kind.Handy
            .Cells(5) = Ausflug.Abholg: .Cells(6) = Ausflug.Zahlg: .Cells(7) = Ausflug.Foto
            .Cells(8) = "":   '<-- Anwesend: Kommt von wo???
            .Cells(9) = Kind.Sonst
         End With
        
      Else
         'Kind wird nicht angefügt, weil Ausflug(Nr) NEIN ist.
      End If
    End Sub
    
    
     
    Exl121150, 15. Juli 2022
    #7
  8. Exl121150 Erfahrener User

    Excel Tabelle Automatische Zeile hinzufügen

    Hallo,

    in Ergänzung zu Posting #7 habe ich eingebaut, dass die Kind/Ausflug-Daten auch ins Arbeitsblatt "Database" eingetragen werden, wenn du auf den ersten Button "Bestätigen" klickst.
     
    Exl121150, 16. Juli 2022
    #8
  9. xmanuel Neuer User
    Vielen Herzlichen Dank Anton für deine Tolle Arbeit.
     
    xmanuel, 18. Juli 2022
    #9
Thema:

Excel Tabelle Automatische Zeile hinzufügen

Die Seite wird geladen...
  1. Excel Tabelle Automatische Zeile hinzufügen - Similar Threads - Excel Tabelle Automatische

  2. Strom und Gasverbrauch: Fehlende Tage automatisch in Tabelle hinzufügen

    in Microsoft Excel Hilfe
    Strom und Gasverbrauch: Fehlende Tage automatisch in Tabelle hinzufügen: Hallo! ich habe seit 5 Jahren in meiner Wohnung immer mal wieder meinen Strom und Gas Zähler notiert. Allerdings habe ich dies sehr unregelmäßig gemacht, sodass die Auswertung in Excel nicht...
  3. Excel Tabelle Automatisch erweitern

    in Microsoft Excel Hilfe
    Excel Tabelle Automatisch erweitern: Guten Tag Zusammen, ich habe ein Problem und hoffe jemand hat die Lösung für mein Problem. Also kurz zum Sachverhalt, ich soll für uns ein Lieferschein erstellen. Der Lieferschein hat mal...
  4. Excel Tabelle Farben Automatisch ändern

    in Microsoft Excel Hilfe
    Excel Tabelle Farben Automatisch ändern: Hallo, also vorab erstmal ich habe wenig Erfahrung mit Excel und könnte etwas Hilfe gebrauchen. Es geht um folgendes. Ich habe eine tabelle mit Zwei Spalten[ATTACH]. Die Tabelle soll...
  5. Automatische Erweiterung einer Tabelle für Drop-Down (Excel 2013)

    in Microsoft Excel Hilfe
    Automatische Erweiterung einer Tabelle für Drop-Down (Excel 2013): Hallo @ll, ich bin neu in diesem Forum hier angemeldet, habe aber schon sehr oft bei euch super Tipps bekommen. Jetzt habe ich leider ein Problem, dass ich bei euch noch nicht gefunden habe. Ich...
  6. Eine Automatische sortierung in andere geschlossenen Tabellen

    in Microsoft Excel Hilfe
    Eine Automatische sortierung in andere geschlossenen Tabellen: Hallo, ich bin neu hier und habe eine frage/bitte.. gibt es eine möglischkeit sich eine excel tabelle zu erstellen in der ich dann datum, artikelnummer und menge eingeben kann und die...
  7. Excel Tabelle in Word einfließen lassen - automatisch

    in Microsoft Word Hilfe
    Excel Tabelle in Word einfließen lassen - automatisch: Hallo Community, ich habe folgendes Szenario: Ich verwalte in Excel eine Tabelle mit Artikeln. Diese besteht aus mehreren Spalten (Artikelname, Beschreibung, Preis etc.) und etwa 800 Zeilen....
  8. Excel Tabelle beim ausdrucken automatisch als Anlage in Outlook einfügen

    in Microsoft Excel Hilfe
    Excel Tabelle beim ausdrucken automatisch als Anlage in Outlook einfügen: Servus zusammen, ich möchte eine Excel Tabelle beim ausdrucken automatisch in Outlook als Anlage einfügen. Ich habe aus einem Forum diesen Code für Office2007 bekommen: Sub...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden