Wie komme ich mit einer Makroprogramierung zum Ziel?

... komplette Frage anzeigen

2 Antworten

Sub kopieren()
Dim wohin As Long
Dim eingabe As String
Dim feuerwehr As String
Dim spielmann As String
Dim ziel As String
'Die nächsten drei Einträge entspr Deiner Tabellen ändern
eingabe = "Tabelle1" 'hier werden die Eingaben gemacht
feuerwehr = "Tabelle2" 'Tabellenblatt Feuerwehr
spielmann = "Tabelle3" 'Tabellenblatt Spielmannszug
While Sheets(eingabe).Cells(7, 2).Value <> ""
If Sheets(eingabe).Cells(7, 5).Value = "Feuerwehr" Then ziel = feuerwehr
Else: ziel = spielmann
wohin = Sheets(ziel).Cells(Rows.Count, 1).End(xlUp).Row + 1
Worksheets(eingabe).Range(Cells(7, 2), Cells(7, 4)).Copy Destination:=Worksheets(ziel).Cells(wohin, 1)
Worksheets(eingabe).Rows(7).Delete
Wend
End Sub

An zwei Stellen musst Du den Zeilenumbruch anpassen:
- else: gehört in die Zeile des if
- Destination:= gehört ebenfalls in die vorherige Zeile, also kein Umbruch

Wenn Deine Tabellen nicht 1,2,3 heißen, bitte entsprechend anpassen, also statt "Tabelle1" eben "TabelleXYZ" eintragen.

Frage allerdings:
Was soll passieren, wenn in E7 etwas anderes steht? Ich tüte momentan alles beim Spielmannszug ein, was nicht "Feuerwehr" ist
Sollen die kopierten Zeilen tatsächlich gelöscht werden wie jetzt umgesetzt oder nur markiert werden, dass sie schon verarbeitet wurden?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von LukasWWW
30.11.2015, 13:14

Vielen vielen Dank!

Die kopierten Zeilen können gelöscht werden. Also passt alles! Danke

0

Du müsstest vielleicht schreiben, was genau nicht funktioniert. Wo hängst du gerade? Welche Vorkenntnisse hast du denn?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von LukasWWW
30.11.2015, 10:19

Die Daten werden generell nicht übertragen. Aber es kommt auch keine Fehlermeldung. Habe nur geringe vorkenntnisse.

Das Sub sieht jetzt so aus:

Sub Makro3()
'
' Makro3 Makro
'

'
    If ("E7") = "Spielmannszug" Then
    Range("B7:E7").Select
    Selection.Copy
    Sheets("Spielmannszug").Select
    Range("A2").Select
    ActiveSheet.Paste
    Sheets("Tabelle1").Select
    Range("A1").Select
End If
'
    If ("E7") = "Feuerwehr" Then
    Range("B7:E7").Select
    Selection.Copy
    Sheets("Feuerwehr").Select
    Range("A2").Select
    ActiveSheet.Paste
    Sheets("Tabelle1").Select
    Range("A1").Select
End If
End Sub

 

0

Was möchtest Du wissen?