Excel fügt automatisch eine neue Zeile ein, sobald die Zeile darüber mit Text gefüllt ist


0

Screenshot of my Table

Ich möchte einen Weg finden, um eine neue Zeile anzuzeigen, nachdem ich die vorherige mit Text gefüllt habe. Dies ist als Angebotstool zu verwenden.

Ich habe derzeit eine Tabelle mit Aufgabenreihen und eine Kostenübersicht am Fuß. Ich möchte, dass dies mit einer leeren Zeile beginnt, in der ich den Eintrag eingeben und dann eine neue Zeile hinzufügen kann, sobald ich dies getan habe, damit ich bei Bedarf einen neuen Eintrag hinzufügen kann.

Ich habe verschiedene Dinge ausprobiert, einschließlich das Hinzufügen einer Makro-Schaltfläche zum Einfügen einer Zeile, wenn Sie darauf klicken, aber ich würde es eher automatisieren, da die Button-Methode die Eingabe der Zeile erfordert, die zu Fehlern führen kann. Ich habe auch versucht, mit VBA in VBA zu arbeiten, erhalte jedoch einen Überlauffehler. Ich habe versucht, dies durch etwas zu verbessern, das ich online gefunden habe. Ich bin neu in der VBA und weiß nur vage, wo ich falsch damit bin.

Sub AddBlankRows()
'
Dim iRow As Integer, iCol As Integer
Dim oRng As Range

Set oRng = Range("D6")

iRow = oRng.Row
iCol = oRng.Column

Do
'
If Not Cells(iRow, iCol).Text = "" Then

    Cells(iRow + 1, iCol).EntireRow.Insert shift:=xlDown

    iRow = iRow + 2

Else

    iRow = iRow + 1

End If

'
Loop While Not Cells(iRow, iCol).Text = "Description of Work"

'
End Sub

1
Willkommen auf der Website. Teilen Sie uns mit, was Sie versucht haben und wo Sie feststecken. Wir helfen gerne, aber dies ist kein Forum, in dem wir es für Sie tun können. Weitere Informationen finden Sie in Wie fragen? .
CharlieRB

Hallo @CharlieRB, ich habe meine Frage bearbeitet und hoffe, es ist jetzt etwas klarer, was ich erreichen möchte und was ich versucht habe. Vielen Dank.
Lydia W

Antworten:


0

Es ist ein falscher Ansatz. Dies ist ohne VBA-Wissen nicht möglich.

ABER Sie können versuchen, benannte Tabellen zu verwenden (nur MS Excel 2007 und höher). Erstellen Sie eine Tabelle mit drei Spalten (Eingabe, Kosten, Kosten) in der ersten Zeile, wählen Sie diese Tabelle aus und drücken Sie STRG + T (markieren Sie das Kontrollkästchen über head).

Jetzt haben Sie eine Tabelle mit Filtern (die nur auf den Tabellenbereich angewendet werden). Wenn Sie einige Daten in die Zeile unter der Tabelle eingeben, werden diese automatisch der Tabelle hinzugefügt. Und das Beste ist, Sie können SUM (oder eine andere Formel) ganz einfach für die ganze * Tabellenspalte verwenden! =SUM(Table_name[Column_name])

Der Tabellenname kann in der Multifunktionsleistenliste bearbeitet werden, die angezeigt wird, wenn eine Zelle in der Tabelle ausgewählt ist.

GIF-Beispiel


Sorry, ich habe nicht bemerkt, dass Sie bereits benannte Tabellen verwendet haben. Sie sind also mit dieser Funktion vertraut. Was Sie falsch machen, ist, dass die Excel-Philosophie grundsätzlich eine Spalte = einen Datentyp ist. Stellen Sie die Tische in eine Reihe und verschieben Sie die Zusammenfassung über ihren Kopf. Das ist der einfachste Weg, um dieses Verhalten ohne VBA zu erreichen.
Lluser
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.