Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

Excel Tabelle "Button" kopieren und löschen?
#1
Hey,
ich habe ein Schulprojekt und muss es bis morgen abgeben, ich bin zwar fertig aber ich möchte paar Extras einbauen.
Da habe ich ein Problem wo ich nicht weiter komme.

Ich habe bei der Tabelle 1 Button, die Funktion sollte so sein:

Die Tabelle wird kopiert und auf der kopierten Tabelle sollten bestimmte Felder die Inhalte leeren, dann sollte es auf der ersten Tabelle den Namen umändern auf den Namen der Schüler.

Problem: Beim kopieren wird eine neue Schaltfläche über dem Buttons kopiert und das hindert daran einen weitere Tabelle zu kopieren und müsste diesen Button manuell löschen.

UND

ich will die Tabelle umbenennen in dem Schüler der eingetragen worden ist. Das was ich in mehreren klammern gesetzt habe will ich den Schüler kopieren.

Screenshot 1 = wie es vorher aussieht
Screenshot 2 = wie es danach aussieht und was mein 1. Problem ist

Danke in voraus
LG

D.B
Hier der Code:

Sub NeuerSchüler()
'
' NeuerSchüler Makro
'
'
  Sheets("Schüler").Select
  ActiveSheet.Buttons.Add(203, 53, 171.5, 55).Select
  ActiveSheet.Buttons.Add(382.5, 57, 142, 48).Select
  Sheets("Schüler").Copy Before:=Sheets(1)
  Range("B7,E7,B11,C11,B12,B12:C25").Select
  Range("C12").Activate
  Selection.ClearContents
  ActiveWindow.SmallScroll Down:=-9
  Sheets("Schüler").Select
  Range("B7").Select
  Selection.Copy
  Sheets("Schüler").Select
  Sheets("Schüler").Name = ((((Selection.Paste))))
   
   
End Sub


Angehängte Dateien Thumbnail(s)
       
Top
#2
Hallo,
Sub NeuerSchüler()
'
' NeuerSchüler Makro
'
Sheets("Schüler").Copy Before:=Sheets(1)
ActiveSheet.Range("B7,E7,B11:C25") = ""
ActiveSheet.Name = Sheets("Schüler").Range("B7").Value
End Sub
Gruß Uwe
Top
#3

(08.03.2020, 12:29)Kuwer schrieb: Hallo,
Sub NeuerSchüler()
'
' NeuerSchüler Makro
'
  Sheets("Schüler").Copy Before:=Sheets(1)
  ActiveSheet.Range("B7,E7,B11:C25") = ""
  ActiveSheet.Name = Sheets("Schüler").Range("B7").Value
End Sub
Gruß Uwe

Ich habe zwischen dem ActiveSheet.Range und ActiveSheet.Name  "Sheets("Schüler").Select" eingefügt, dann hat es so geklappt wie ich es wollte...

Kann man aber einen Button hinzufügen dass es mit jeder Tabelle funktioniert?  Huh

Sry für die Umstände

LG
Top
#4
(08.03.2020, 12:56)Deniz23 schrieb: Kann man aber einen Button hinzufügen dass es mit jeder Tabelle funktioniert?  Huh

Der Button ist in der Kopie ja schon vorhanden und muss nicht neu erstellt werden.
Nur das Makro müsste angepasst werden.
Vielleicht so:
Sub NeuerSchüler()
'
' NeuerSchüler Makro
'
With ActiveSheet
.Copy Before:=Sheets(1)
ActiveSheet.Range("B7,E7,B11:C25") = ""
.Name = .Range("B7").Value
End With
End Sub
Gruß Uwe
Top
#5
Hallo,

ist das so verlangt, so wie Du es machst, oder kannst Du frei entscheiden, wie Du zum Ergebnis kommst.

Wenn Du frei entscheiden kannst, dann wäre eine andere Vorgehensweise besser.
Es wäre besser die Schüler Tabelle leer als Vorlagen Tabelle zu haben.
Dann aus einer andern Tabelle heraus diese Tabelle zu kopieren und mit dem Namen eines ausgewählten Schüler zu benennen und die Zellen entsprechen auch zu befüllen.
Gruß Atilla
Top
#6
(08.03.2020, 13:19)Kuwer schrieb: Der Button ist in der Kopie ja schon vorhanden und muss nicht neu erstellt werden.
Nur das Makro müsste angepasst werden.
Vielleicht so:
Sub NeuerSchüler()
'
' NeuerSchüler Makro
'
  With ActiveSheet
    .Copy Before:=Sheets(1)
    ActiveSheet.Range("B7,E7,B11:C25") = ""
    .Name = .Range("B7").Value
  End With
End Sub
Gruß Uwe
Lieber Uwe,

vielen dank Heart Angel , du hast mir sehr weiter geholfen, mein Endformel sieht so aus:

Sub NeuerSchüler()

  With ActiveSheet
    .Name = .Range("B7").Value
    .Copy Before:=Sheets(1)
    ActiveSheet.Range("B7,E7,B11:C25") = ""
  End With
  With ActiveSheet
    .Name = "Schüler 2"
    ActiveSheet.Range("B7") = "HIER NAME EINTRAGEN!"
    ActiveSheet.Range("E7") = "HIER KLASSE EINTRAGEN!"
  End With
End Sub

(08.03.2020, 13:20)atilla schrieb: Hallo,

ist das so verlangt, so wie Du es machst, oder kannst Du frei entscheiden, wie Du zum Ergebnis kommst.

Wenn Du frei entscheiden kannst, dann wäre eine andere Vorgehensweise besser.
Es wäre besser die Schüler Tabelle leer als Vorlagen Tabelle zu haben.
Dann aus einer andern Tabelle heraus diese Tabelle zu kopieren und mit dem Namen eines ausgewählten Schüler zu benennen und die Zellen entsprechen auch zu befüllen.
Ich wollte es so, aber danke. 
Die Lösung von Uwe hat mir geholfen, ich kann die Datei, wenn ich fertig bin euch zeigen, wer Interesse hat.

LG
Top
#7
Hallo,

mich würde die Tabelle interessieren. Will noch dazu lernen.

Lg
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Top
#8
(08.03.2020, 14:04)marose67 schrieb: Hallo,

mich würde die Tabelle interessieren. Will noch dazu lernen.

Lg
Marcus
Jap, ich werde sie heute noch hochladen, muss noch was machen, dann schicke ich 2 Versionen.

1. Version: Blatt ist geschützt und nur bestimmte Felder können ausgefüllt werden.
2. Version: Blatt ist ungeschützt man kann alles bearbeiten und ansehen.

LG
Deniz
Top


Gehe zu:


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