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

Mit Command-Button eine formatierte Zeile einfügen

Mit Command-Button eine formatierte Zeile einfügen
slopor
Hallo erstmal,
wie ihr seht, bin ich neu hier und brauche eure Hilfe.
Ich habe Excel 2007 und möchte dass wenn ich einen Comman-Button drücke, eine vorgegebene Zeile eingefügt wird die ein bestimmtes Format haben soll.
Durch googlen und rumspielen habe ich es schon geschafft dass eine Zeile eingefügt wird, aber leider die falsche.
Ich habe von Zeile 1-5 von Spalte A - K eine Art Überschrift, welche farblich hinterlegt ist und wo auch der Button zu finden ist.
Meine Tabelle geht also ab Zeile 6 los und hat in dieser ein bestimmtes Format.
Wenn jetzt jemand diese Zeile 6 von A-K ausgefüllt hat, dann soll durch einen Klick auf den Button eine neue, leere Zeile unter der Zeile 6, also in diesem Fall Zeile 7 entstehen (mit demselben Format) und wenn diese voll ist, wieder durch einen Click auf den Button die nächste Zeile eingefügt werden usw.
Wie bereits oben erwähnt habe ich es geschafft eine neue Zeile einzufügen und zwar mit folgendem Code:
Range("A1").End(xlDown).Offset(1, 0).EntireRow.Insert
Das Problem dabei ist nur, dass er dann in Zeile 6 eine neue Zeile einfügt, welche das Format von Zeile 5, also der Überschrift hat.
Ich hoffe ich habe alles gut erklärt, sollte es fragen geben, fragt ruhig :-)

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Mit Command-Button eine formatierte Zeile einfügen
30.08.2011 20:49:25
fcs
Hallo slopor,
es muss noch eine Prüfung der Nummer der letzten Zeile eingebaut werden, damit es funktioniert, wenn unter den Spaltentiteln noch keine Daten eingetragen sind.
Gruß
Franz

'Wenn in allen Zeilen die Spalte A (oder entsprechende andere Spalte) immer ausgefüllt wird
Sub KopieFormatsLastRow()
If Cells(Rows.Count, 1).End(xlUp).Row > 5 Then
Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).EntireRow.Insert
End If
End Sub
'oder wenn Spalten unregelmäßig ausgefüllt werden
Sub KopieFormatsLastRow01()
Dim Zeile As Long
Zeile = fncNextFreeRow
If Zeile > 6 Then
Rows(Zeile).Insert
Cells(Zeile, 1).Select
End If
End Sub
Function fncNextFreeRow(Optional wks As Worksheet) As Long
'Ermittelt die nächste freie Zeile im Tabellenblatt
Dim Spalte As Long
If wks Is Nothing Then Set wks = ActiveSheet
With wks
For Spalte = 1 To wks.Cells.SpecialCells(xlCellTypeLastCell).Column
If IsEmpty(.Cells(.Rows.Count, Spalte)) Then
fncNextFreeRow = Application.WorksheetFunction.Max(fncNextFreeRow, _
.Cells(.Rows.Count, Spalte).End(xlUp).Row)
Else
fncNextFreeRow = .Rows.Count
MsgBox "Die letzte Zeile im Blatt """ & wks.Name & """ ist bereits ausgefüllt."
Exit Function
End If
Next
If fncNextFreeRow = 1 Then
If Application.WorksheetFunction.CountA(wks.Rows(1)) = 0 Then
'1, Zeile des Blattes ist leer
fncNextFreeRow = 1
Else
fncNextFreeRow = 2
End If
Else
fncNextFreeRow = fncNextFreeRow + 1
End If
End With
End Function

Anzeige

57 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige