Wenn Zeile leer, dann...
#1
Hallo und guten Morgen,

gestern habt Ihr mir bei einer Datei so toll geholfen. Ich bräuchte nochmal Eure Hilfe.

In angehängter Datei möchte ich gerne folgendes:
Wenn ich in Zeile A9 einen Namen eingebe, dann soll Excel die Spalten B bis O (Spalten K, M und O sind ausgeblendet) exakt so übernehmen wie in Zeile 3 bis 8.
Ich weiß nicht, ob das für diese Datei möglich ist.


Angehängte Dateien
.xls   Checkliste - Kopie.xls (Größe: 49 KB / Downloads: 10)
Top
#2
Hallo,

einfache Lösung:
Kopiere die vorhandene Zeile und füge sie händisch darunter ein, lösche danach die Einträge der Spalten J, L und N

Makrolösung:
Macht das gleiche wie die einfache Lösung automatisiert. Hat den Nachteil, dass du ein Makro in der Datei hast.

Code:
Sub test()
Dim freie As Long
freie = Cells(Rows.Count, 1).End(xlUp).Row + 6

   Rows("3:8").Copy Destination:=Cells(freie, 1)
   Range("A" & freie & ":A" & freie + 6).ClearContents
   Range("J" & freie & ":J" & freie + 6).ClearContents
   Range("L" & freie & ":L" & freie + 6).ClearContents
   Range("N" & freie & ":N" & freie + 6).ClearContents
End Sub
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Motte88
Top
#3
Hallöchen,

Du willst dann bestimmt auch die Checkboxen übernehmen usw? Wie viele Namen hast Du denn vor, da einzutragen? Irgendwann überfrachtest Du die Datei mit Steuerelementen usw. Hier ist mal ein Beispiel für A9. Der Code kommt ins Codemodul der Tabelle.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'VAriablendeklaration-String
Dim strEingabe$
'Wenn die Eingabezelle A9 ist, dann
If Target.Address = "$A$9" Then
    'Eingabe auslesen
    strEingabe = Target.Value
    'Events ausschalten
    Application.EnableEvents = False
    'A3:N8 kopieren
    Range("A3:N8").Copy Range("A9")
    'Eingabe eintragen
    Target.Value = strEingabe
    'Events einschalten
    Application.EnableEvents = True
'Ende Wenn die Eingabezelle A9 ist, dann
End If
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Motte88
Top
#4
Es werden wohl so an die 40 bis 50 Namen in der Tabelle eingetragen.
Top
#5
Hallo,

damit es ab Zeile 9 in jeder 6. Zeile funktioniert, ersetze diese Zeile

If Target.Address = "$A$9" Then

durch diese

If Target.Column = 1 And Target.Row Mod 6 = 3 And Target.Columns.Count = 1 Then
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Motte88
Top
#6
(07.09.2018, 18:30)schauan schrieb: Hallo,

damit es ab Zeile 9 in jeder 6. Zeile funktioniert, ersetze diese Zeile

If Target.Address = "$A$9" Then

durch diese

If Target.Column = 1 And Target.Row Mod 6 = 3 And Target.Columns.Count = 1 Then

Ich habe Dein Makro eingegeben (auch mit der Änderung).
Gebe ich jetzt in Zeile A9 einen Namen ein (z.B. Meyer) passiert nichts.
Das Makro habe ich als Modul 1 angelegt.
Top
#7
Zitat:Das Makro habe ich als Modul 1 angelegt.

Das ist falsch, der Code muss in das Modul des Tabellenblatts.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • Motte88
Top
#8
(07.09.2018, 19:01)MisterBurns schrieb: Das ist falsch, der Code muss in das Modul des Tabellenblatts.

Das hat super funktioniert.
Danke, danke, danke.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste