Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1728to1732
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

Excel VBA Daten innerhalb einer Tabelle kopieren

Excel VBA Daten innerhalb einer Tabelle kopieren
10.12.2019 11:43:37
Marcus
Hallo zusammen,
ich habe ein kleines Problem. Eine Tabelle enthält einen Datensatz von 44 Zeilen. Wenn Die _
Zeilen nicht ausreichen, soll über einen Button eine Zeile ergänzt werden. Aktuell habe ich ein _ Makro, welches die Daten aus Zeile 43 nimmt, kopiert und die Werte in Zeile 44 einfügt. Die Tabelle enthält gesperrte Zellen, deren Formeln durch die Nutzer nicht geändert werden sollen.

Private Sub CommandButton1_Click()
Dim rng As Range
Dim intC As Integer
Dim start As Integer
start = 43
Set rng = Rows("43:43")
intC = rng.Rows.Count - 1
Rows(start & ":" & start + intC).Copy
Rows(start & ":" & start + intC).Insert (xlShiftDown)
End Sub

Das Problem ist nun, dass er immer die Zeile 43 adressiert. Weiterhin ist dies bei einem gesperrten Tabellenblatt nicht ausführbar und last but not least, wie kann man diese gestrichelte Zeilenmarkierung entfernen / umgehen?
Ich danke Euch schon einmal für Eure Hilfe.
Viele Grüße,
Marcus

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Daten innerhalb einer Tabelle kopieren
10.12.2019 13:24:20
Stefan
Hallo Marcus,
du gibts deiner Variable "Start" immer die 43 vor, er wird also immer in Zeile 43 anfangen.
Du hast dabei jetzt zwei Möglichkeiten, die schöne:
Du lässt immer, bevor du diesen Code ausführst, die letzte Zeile deines Datensatzes suchen und ziehst 1 von dem Ergebnis ab.
Die nicht so schöne Lösung:
Du schreibst in die Tabelle deine Anfangszeile, in deinem Fall die 43.
Immer wenn du eine Zeile hinzufügst, addierst du einfach 1 hinzu. Bevor du deinen Code ausführst musst du dann deine Variable "Start" mit der Zahl in der Zelle "füllen"
Zu deinem geschützten Problem
ActiveWorkbook.Unprotect
'Dein Code
ActiveWorkbook.protect
So entsperrst du deine Tabelle nur, wenn dein Code ausgeführt wird, sonst ist sie gesperrt.
wie kann man diese gestrichelte Zeilenmarkierung entfernen / umgehen?
Damit kann ich leider nicht viel anfangen...
Gruß Stefan
Anzeige
AW: Excel VBA Daten innerhalb einer Tabelle kopieren
10.12.2019 13:28:14
Regina
HI,
ich vermute die "gestrichelte Linie" ist das Überbleibsel von Copy. Dann sollte mit
Application.CutCopyMode = False
die Linie weg sein.
Gruß
Regina
AW: Excel VBA Daten innerhalb einer Tabelle kopieren
10.12.2019 14:25:16
Marcus
Hallo Regina,
vielen Dank. Genau das habe ich gemeint :-)
Hallo Stefan,
leider funktioniert Dein Code zu meinem Blattschutz nicht. Es ist ja auch nur eine Tabelle geschützt (worksheet?)
Ich würde auch gern die elegante Variante, die Du vorschlägst umsetzten, leider geht das bei der Tabelle schwer. Ich habe mal ein Screenshot beigefügt, weil nach der Tabelle eine kleine, weitere Tabelle folgt.
Userbild
Wie und wo müsste die Variable definiert werden, wenn Start hochzählen soll? Wie umgehe ich dann das bei Rows? Sobald ich anstelle "43:43" "start:start" schreibe, funktioniert es nicht mehr :-(
Viele Grüße
Marcus
Anzeige
AW: Excel VBA Daten innerhalb einer Tabelle kopieren
10.12.2019 15:21:41
Stefan
Hallo Marcus,
Dann wäre es "activesheet" oder sheets("name")
Dafür müsstest du eine Zelle aufnem Tabellenblatt bestimmen, das sich nie verschiebt.
Falls du die Datei hochladen kannst/darfst, könnte ich es mir genauer anschauen.
Gruß stefan
AW: Excel VBA Daten innerhalb einer Tabelle kopieren
10.12.2019 16:19:22
Marcus
Hallo Stefan,
ich habe dir das File einmal hochgeladen. Es fehlt nur das Tabellenblatt, dass für die bedingte Formatierung benötigt werden. Das ist aber für die Makros nicht wichtig. Vielleicht siehst Du ja auch noch Optimierungsotenzial für die anderen Makros. Sind ja alles nur kleine Prozeduren. Vielelicht lässt sich dann ja das Einfügen / Löschen noch besser gestalten.
https://www.herber.de/bbs/user/133708.zip
Viele Grüße
Marcus
Anzeige
AW: Excel VBA Daten innerhalb einer Tabelle kopieren
10.12.2019 17:57:50
Stefan
Hallo Marcus
https://www.herber.de/bbs/user/133710.zip
habs eingebaut, wenn du eine Zeile löscht wird dann natürlich die Zahl auch um eins verringert.
Gruß Stefan

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige