Hallo zusammen,
ich komme gerade nicht weiter eventuell könnt Ihr ja helfen.
Ich habe eine Arbeitsmappe mit zwei Arbeitsblättern ("Eingabe" und "Ausgabe"). Wenn im Tabellenblatt "Eingabe" in Spalte (ab) G3 ein Wert stehen, sollen folgende Spalten in das Tabellenblatt "Ausgabe" kopiert werden.
zB. Spate A1, E1, F1 und G1 in das Tabellenblatt " Ausgang" A1, B1, C1, D1.
Die Überschrift im Blatt sollte dann Auswertung Stunden Monat Abschnitt 1 lauten.
Ist dies möglich?
Vielen Dank für Eure Hilfe und einen schönen Sonntag noch.
VG Mario
Hallöchen,
G3, A1, E1 usw. sind nur Zellen und keine Spalten
Das Kopieren kann man einfach mit dem Makrorekorder aufzeichnen, die Überschrift auch.
AM Anfang vom aufgezeichneten Makro kannst Du dann noch eine Bedingung schreiben, z.B.
If [G3] = "" Then Exit Sub
Das sorgt dafür, dass das Makro nicht ausgeführt wird, wenn in G3 nix steht.
Hallo Andre,
vielen Dank für deine schnelle Antwort
.
Es sollen natürlich immer die entsprechenden Zellen aus der dazugehörigen Zeile kopiert werden. Also steht in G5 etwas sollen auch die dazugehörigen Zellen aus Zeile 5 kopiert werden.
Dies bekomme ich soweit auch hin, doch dann habe ich auf dem Zielarbeitsblatt leere Zeilen, die ich verhindern wollte,
VG Mario
Hallo Mario,
stellt sich für mich die Frage, warum du die Daten nicht gleich (und ausschließlich) in dein "Zielarbeitsblatt" schreibst. Das würde spätere Auswertungen enorm erleichtern. Das würde dann etwa so aussehen:
Ausgabe | A | B | C | D | E |
1 | Datum | Wochentag | Mitarbeiter | Stunden | Objekt |
2 | 01.10.2017 | Sonntag | Klaus | 8 | Garage |
3 | 02.10.2017 | Montag | Holger | 3 | Tennisclub |
4 | 02.10.2017 | Montag | Dennis | 4 | Garten |
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Hallo Klaus Dieter,
hätte ich auch so gemacht, aber der Ursprung (das Tabellenblatt) wird versteckt, so das die Originaldaten nicht eingesehen oder geändert werden können.
Ich habe bis jetzt die, leider wird hier immer nur der erste Datensatz kopiert
und kein weiterer.
Code:
Option Explicit
Sub DatenKopieren()
Dim i As Integer
For i = 1 To 157
If Worksheets("Eingabe").Cells(i, 5).Value <> "" Then
Worksheets("Eingabe").Range("A1").Copy Destination:=Sheets("Ausgabe").Range("A2")
Worksheets("Eingabe").Range("E2").Copy Destination:=Sheets("Ausgabe").Range("B2")
Worksheets("Eingabe").Range("F2").Copy Destination:=Sheets("Ausgabe").Range("C2")
Worksheets("Eingabe").Range("G2").Copy Destination:=Sheets("Ausgabe").Range("D2")
End If
Next i
End Sub
Danke an alle, habe es jetzt hinbekommen.
VG Mario
Code:
Sub DatenKopieren()
Dim i As Integer
Dim x As Integer
x = 2
For i = 3 To 157
If Cells(i, 6).Value <> "" Then
Cells(i, 6).Copy
Worksheets("Ausgabe").Cells(x, 2).PasteSpecial xlValues
Cells(i, 3).Copy
Worksheets("Ausgabe").Cells(x, 1).PasteSpecial xlValues
Cells(i, 5).Copy
Worksheets("Ausgabe").Cells(x, 3).PasteSpecial xlValues
Cells(i, 7).Copy
Worksheets("Ausgabe").Cells(x, 4).PasteSpecial xlValues
x = x + 1
End If
Next i
End Sub