Frage von LukasWWW, 44

Wie komme ich mit einer Makroprogramierung zum Ziel?

Ich muss für die Feuerwehr eine Excel Liste erstellen und möchte mithilfe vom Makros die Daten (Name, Schuhgröße, Alter, etc.) automatisch in die entsprechende Arbeitsmappe legen und anschließend speichern. Ich habe schon unterschiedliche Wege ausprobiert aber kam nie zum gewünschten Ziel.. Könnte mir jemand helfen?

Expertenantwort
von Ninombre, Community-Experte für Excel, 19

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?

Kommentar von LukasWWW ,

Vielen vielen Dank!

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

Antwort
von SunnySonja19, 44

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

Kommentar von LukasWWW ,

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

 

Keine passende Antwort gefunden?

Fragen Sie die Community