Anzeige
Archiv - Navigation
1852to1856
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
Hilfestellung für Schleife in VBA
22.10.2021 08:41:20
Lara
Hallo zusammen,
ich arbeite gerade an einer Einsatzplanung unserer Mitarbeiter fürs nächste Jahr. Da auf die Datei alle Führungskräfte Zugriff haben will ich Sie so gut es geht Idiotensicher machen, sonst zerhauen die alles schneller als ich es wieder zurecht rücken kann.
In der Excel gibt es je Monat ein Tabellenblatt, in welchem die Mitarbeiter mit entsprechenden Schichten hinterlegt werden. Ich möchte nun eine Funktion einfügen, damit mit einem Klick eine neue Spalte für einen neuen Mitarbeiter in allen Monaten angelegt wird. Habe hier im Forum schon etwas passendes gefunden, jedoch würde ich gerne die Schleife hierzu vereinfachen. anbei mal die beiden Codes:

Sub ZeileRein2()
ActiveWorkbook.Sheets(3).Activate
Call ZeileRein
ActiveWorkbook.Sheets(4).Activate
Call ZeileRein
ActiveWorkbook.Sheets(5).Activate
Call ZeileRein
ActiveWorkbook.Sheets(6).Activate
Call ZeileRein
ActiveWorkbook.Sheets(7).Activate
Call ZeileRein
ActiveWorkbook.Sheets(8).Activate
Call ZeileRein
ActiveWorkbook.Sheets(9).Activate
Call ZeileRein
ActiveWorkbook.Sheets(10).Activate
Call ZeileRein
ActiveWorkbook.Sheets(11).Activate
Call ZeileRein
ActiveWorkbook.Sheets(12).Activate
Call ZeileRein
ActiveWorkbook.Sheets(13).Activate
Call ZeileRein
ActiveWorkbook.Sheets(14).Activate
Call ZeileRein
ActiveWorkbook.Sheets(15).Activate
Call ZeileRein
End Sub
sowie:

Sub ZeileRein()
Dim zeile As Long
zeile = InputBox("Welche Zeile?", "Zeile einfügen unter Zeile x")
'hiermit müßte das Format bereits übertragen sein
Rows(zeile + 1).Insert
'***** wenn nicht, dann die folgenden Zeilen aktivieren
'Rows(zeile).Copy
'Rows(zeile + 1).PasteSpecial Paste:=xlPasteFormats
End Sub
An sich funktioniert das schon sehr gut, jedoch muss so für alle 12 Tabellenblätter angegeben werden, unter welcher Zeile der neue Eintrag erstellt wird. Würde mir hier eine Lösung wünschen, bei welcher man einmal angibt unter welcher Zeile der neue Eintrag entstehen soll und er übernimmt es dann automatisch für die anderen 11 Mappen.
Würde mich über jegliche Hilfestellung freuen, bin leider in VBA noch ein Neuling.
Liebe Grüße Lara

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfestellung für Schleife in VBA
22.10.2021 09:08:16
Zwenn
Hallo Lara
Es sind 13 Tabellen und ich gehe davon aus, dass "... für die anderen 11 Mappen" sich auf die restlichen Tabellen nach der ersten bezieht. Du kannst das alles in einer kurzen Schleife abhandeln.

Sub ZeileRein()
Dim zeile As Long
Dim tabelle As Byte
zeile = InputBox("Welche Zeile?", "Zeile einfügen unter Zeile x")
For tabelle = 3 To 15
'hiermit müßte das Format bereits übertragen sein
Sheets(tabelle).Rows(zeile + 1).Insert
'***** wenn nicht, dann die folgenden Zeilen aktivieren
'Rows(zeile).Copy
'Rows(zeile + 1).PasteSpecial Paste:=xlPasteFormats
Next tabelle
End Sub
Viele Grüße,
Zwenn
Anzeige
AW: Hilfestellung für Schleife in VBA
22.10.2021 09:19:51
Lara
1.000 Dank, genauso habe ich es mir vorgestellt. Vielen Dank für die schnelle Hilfe
AW: Hilfestellung für Schleife in VBA
22.10.2021 09:23:43
Zwenn
Schau nochmal auf Daniels Lösung. Er nutzt (natürlich) die gleiche Schleife. Aber er stellt die Formatierung der eingefügten Zeilen auf jeden Fall sicher.
AW: Hilfestellung für Schleife in VBA
22.10.2021 09:15:45
Daniel
Hi
mach ne Schleife über die Blätter, dann brauchst du keine Sub

Sub ZeileRein2()
Dim zeile As Long
Dim blatt as long
zeile = InputBox("Welche Zeile?", "Zeile einfügen unter Zeile x")
for blatt = 3 to  15
Sheets(blatt).Rows(zeile + 1).Insert CopyOrigin:=xlFormatFromLeftOrAbove 'mit Format von Zeile drüber
Next
End Sub
Gruß Daniel
Anzeige

167 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige