Ich habe ein Userform, die die Werte "Vorname", "Nachname", "Geb-Dat", "Mitglied" an das Sheet "Tabelle1" übergibt. Die erste Zeile im Sheet "Tabelle1" enthält eine Überschrift; die zweite Zeile enthält die o.g. 4 Spaltenüberschriften. Die erste leere Zeile ist die Zeile 3.
Für die "Tabelle1" nutze ich eine Tabellen-Layout Vorlage, die Excel2013 von Haus aus zur Verfügung stellt. Damt wird automatisch mit jeder weiteren Datensatzzeile ein Farbwechsel jeder zweiten Zeile zur besseren Übersichtlichkeit sicher gestellt.
(Ich weiß, für die zweifarbige Zeilen-Darstellung gibt es auch Makros oder bedingte Formatierung, das will ich aus bestimmten Gründen aber nicht.)
Nun stelle ich fest, dass die Userform den ersten Datensatz nicht an die erste leere Zeile unterhalb der Tabellenspalten mit den Überschriften schreibt. Grund: Die erste leere Zeile ist, bedingt durch die genutzte Excel-Formatvorlage, farbig. (Das lässt sich auch nicht ändern!)
Der Code in der Userform zum Formularaufruf sieht so aus:
----------------------------
Private Sub cmdEingabe_Click()
'Formular frmDatenEingabe aufrufen
Dim intErsteLeereZeile As Long
With ActiveSheet
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
.......
-----------------------------
Ich vermute, dass die Definition "intErsteLeereZeile" die erste leere Zeile im ActiceSheet "Tabelle1" nicht als leer definiert, weil sie, bedingt durch die genutzte Tabellenvorlage, farbig ist.
Unfachmännisch ausgedrückt müsste die Definition "intErsteLeereZeile" lauten: Die erste leere Zeile ist die Zeile 3. Auch wenn die Zeile 3 farbig formatiert ist, betrachte sie dennoch als leer und trage den ersten Datensatz in diese Zeile ein.
(Aktuell bleibt die Zeile 3 leer und die Userform beginnt den ersten Datensatz in Zeile 4 (=Nicht farbig) einzutragen.)
Gibts dafür eine Lösung? Bin für jeden Denkanstoß dankbar.