Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zeilen Kopieren als "index" und Umwandeln in Zahlen

Forumthread: Zeilen Kopieren als "index" und Umwandeln in Zahlen

Zeilen Kopieren als "index" und Umwandeln in Zahlen
14.06.2025 13:36:22
Immergut
Ich habe eine Excel Datei mit mehreren Tabellenblättern als Dienstplan erstellt. Für jeden Mitarbeiter (10 an der Zahl) gibt es in jedem Monat 3 Zeilen für jeden Tag. Die erste Zeile (C18 bis AG18) welche nicht formatiert ist und frei beschreibbar (Arztbesuch, Termine etc.), in der zweiten ist eine Schichtplanung mittels Index hinterlegt, welche fortlaufend einem festen Plan folgt und diese ist „fix“ (geschützte Zellen), die 3. Zeile bildet den „wahren“ Schichtplan ab, so wie er wirklich abläuft, inkl. Urlaub, Krank, Schichttausch, Frei usw.

Jetzt mein Wunsch:
Nun möchte ich einmal jährlich am Anfang des Jahres den Plan mit der mittleren Zeile (weil fortlaufend über den Jahreswechsel) synchronisieren, also übernimm die Werte aus der Index und schreibe sie in die 3. Zeile und! Wandel sie in normale Zahlen um.

Das Makro, welches ich aufgezeichnet habe wird utopisch lang und das für noch nicht mal einen Monat.

Sub Kopieren_mehrere_Zeilen()

'
' Kopieren_mehrere_Zeilen Makro
'

'
Range("C18:AG18").Select
Selection.Copy
Range("C19").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C21:AG21").Select
Application.CutCopyMode = False
Selection.Copy
Range("C22").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("C24:AG24").Select
Selection.Copy
Range("C25").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End Sub

Ich hoffe, ich habe mich halbwegs verständlich ausgedrückt und hoffe auf eure Hilfe.
Vielen Dank, Jörg
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen Kopieren als "index" und Umwandeln in Zahlen
15.06.2025 10:52:20
GerdL
Hallo Jörg!
Sub Unit()


Dim zeile As Long

For zeile = 18 To 45 Step 3
Range("C" & zeile & ":AG" & zeile).Copy
Cells(zeile + 1, 3).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Next

End Sub

Gruß Gerd
Anzeige
AW: Zeilen Kopieren als "index" und Umwandeln in Zahlen
15.06.2025 16:43:28
GerdL
Teste mal.
Sub Unit2()


Dim z As Long

If Cells(11, 3) = Year(Date) Then Exit Sub
For z = 19 To 115
If Cells(z, 1) Like "Stundensaldo*" Then
Cells(z, 3).Resize(1, 31).Formula = Cells(z - 1, 3).Resize(1, 31).Value
End If
Next

End Sub

Gruß Gerd
Anzeige
AW: Zeilen Kopieren als "index" und Umwandeln in Zahlen
15.06.2025 23:20:59
Immergut
Hallo Gerd,
Ich habe gehofft, den Code noch zu testen zu können ... das Zeitfenster war leider zu klein und ich bin nun für 14 Tage in Dänemark im Urlaub. Sobald ich wieder zu Hause bin, teste ich und melde mich bei dir. Vielen lieben Dank für deine Mühe und ich bin guter Dinge, das alles funzt.
Bis dahin, Jörg
Anzeige
AW: Zeilen Kopieren als "index" und Umwandeln in Zahlen
06.07.2025 00:02:32
immergut
Hallo Gerd,

Es hat leider etwas gedauert, aber ich kann dir sagen: Es funktioniert genau so, wie ich es brauche.
Tausend Dank an dich.
AW: Zeilen Kopieren als "index" und Umwandeln in Zahlen
06.07.2025 10:52:29
GerdL
Danke für die Rückmeldung.
Gruß Gerd
AW: Zeilen Kopieren als "index" und Umwandeln in Zahlen
15.06.2025 12:17:29
Immergut
Hallo Gerd,

Vielen Dank für den Code.
Für diesen einen Monat läuft dieser korrekt durch, leider wird mit
PasteSpecial Paste:=xlPasteValues
nicht die Umwandlung in eine Zahl erreicht, was für die bedingte Formatierung aber relevant ist.
Und mein 2. Problem ist, wie springe ich in jeweils den nächsten Monat um die Schleife fortzuführen? Ich weiß, in der verlinkten Datei ist nur ein Monat drin. Ich würde nochmals die Datei hochladen mit 3 Monaten.

Ich habe diesen Code noch gefunden, welcher auch wirklich umwandelt und die bedingte Formatierung danach auch dargestellt wird.

Sub FormelnAlsZahlenKopieren()


Dim Quelle As Range, Ziel As Range
Dim Zelle As Range

'Definieren des Zellbereichs, der kopiert werden soll
Set Quelle = Range("C21:AG21") 'Selection ' Oder geben Sie einen festen Bereich an, z.B. Range("A1:A10")

'Definieren der Zielzelle
Set Ziel = Range("C22") 'Application.InputBox("Zielzelle angeben (z.B. C19)", Type:=8) ' Erfordert eine Eingabe der Zielzelle

'Überprüfen, ob eine Zielzelle ausgewählt wurde
If Ziel Is Nothing Then
Exit Sub
End If

'Schleife durch jede Zelle im Quellbereich
For Each Zelle In Quelle
'Kopieren des Wertes (als Zahl) in die Zielzelle
Ziel.Cells(Zelle.Row - Quelle.Row + 1, Zelle.Column - Quelle.Column + 1).Value = Zelle.Value
Next Zelle

End Sub


Wie am Anfang schon geschrieben, meinen herzlichsten Dank schon einmal.
Anzeige
AW: Zeilen Kopieren als "index" und Umwandeln in Zahlen
15.06.2025 13:23:43
Daniel
Hi

Wenn beim Kopiervorgang alsText formatierte Zahlen in echte Zahlen gewandelt werden müssen, dann muss man anstelle des Copy-Paste die Werte zuweisen

    For zeile = 18 To 45 Step 3

Range("C" & zeile + 1 & ":AG" & zeile +1).formula = Range("C" & zeile & ":AG" & zeile).value
Next


Oder man ändert die Formel in der kopierten Zeile so ab, dass diese auch zahlen ausgibt und keine Texte.

Gruß Daniel
Anzeige
AW: ich kann Deine Tabellenblätter i'wie nicht sehen...
14.06.2025 17:16:26
JoWE
AW: ich kann Deine Tabellenblätter i'wie nicht sehen...
14.06.2025 18:41:03
Immergut
Beziehungsweise so ...https://www.herber.de/bbs/user/177767.xlsx
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige