VB-Script und Excel Button
rider
- programmiertechnik
Hallo nochmal!
Irgendwie kann ich in dem alten Beitrag nix mehr schreiben. Scheint ja archiviert zu sein. Komisch, komisch.
Erste vielen Dank nochmal an Rouver und Jörg für die Hilfe.
Es funktioniert jetzt sogar. Krasse Sache.
------------------------------------------------------------------
Nochmal zur Erinnerung um was es ging:
Moins!
Habe da mal ne recht komplexe Frage an euch.
Hab mir in Excel ne Tabelle erstellt. Aber nun fehlt mir noch eine
Abfrage um den Spass komplett zu machen.
Es soll auf meinem Starttabellenblatt ein Button stehen. Wenn man auf diesen klickt
soll eine Abfrage erscheinen in der man einen Namen eintippen kann.
Dieser dort verwendete Name soll dann der Name eines Tabellenblattes werden das im gleichen Schritt
auch von einem schon vorhandenen kopiert wird (da ist ne komplexe Tabelle drin).
Kann mir da jemand helfen?
MfG
------------------------------------------------------------------
Mein aktuelles Script:
Sub CommandButton1_Click()
Dim Traegername As String
Traegername = InputBox("Wie heißt der Traeger?")
ThisWorkbook.Worksheets("Haupt").Copy After:=Worksheets("GfM")
ActiveSheet.name = Traegername
End Sub
Also das klappt schonmal. Werde jetzt noch die Abfragen einbauen (bzw. es versuchen).
Ein paar Fragen habe ich aber schonmal noch.
1. Wie kann ich einfach die kopierte Tabelle ans Ende der Blätter setzten? Also nicht das diese nach einem bestimmen Blatt eingefügt wird, sondern einfach die letzte Position einnimmt?
2. Ich möchte noch das in jeden kopierten Blatt die Zelle C2 den Namen des Blattes das kopierte wurde annimmt. Geht das "irgendwie" ?
Dank euch!
MfG
Mathias
Hello,
- Wie kann ich einfach die kopierte Tabelle ans Ende der Blätter setzten? Also nicht das diese nach einem bestimmen Blatt eingefügt wird, sondern einfach die letzte Position einnimmt?
hmh, kenne gerade die Zählweise von Excel nicht, aber es ist entweder
ThisWorkbook.Worksheets("Haupt").Copy After:=ThisWorkbook.Worksheets.Length
oder
ThisWorkbook.Worksheets("Haupt").Copy After:=ThisWorkbook.Worksheets.Length-1
na ja, oder -2 *g*
- Ich möchte noch das in jeden kopierten Blatt die Zelle C2 den Namen des Blattes das kopierte wurde annimmt. Geht das "irgendwie" ?
aber freilich, du hast über
ActiveSheet.Cell("C", 2).Value vollen Zugriff darauf.
MfG
Rouven
Sub CommandButton1_Click()
Dim Traegername As String
Dim objBlatt As Object
Dim strQuellBlatt As String
strQuellBlatt = "Haupt"
On Error GoTo FEHLER
Set objBlatt = ThisWorkbook.Sheets(strQuellBlatt)
On Error GoTo 0
Traegername = Application.InputBox("Bitte geben Sie den Namen des neuen Trägers ein!", "Name", Traegername)
If Traegername = "" Then Exit Sub
If Len(Traegername) > 31 Then
MsgBox "Der Name ist zu lang, er darf nicht mehr als 31 Zeichen enthalten.", vbOKOnly + vbExclamation, "Schwerer Ausnahmefehler"
Exit Sub
End If
If Traegername Like "*[:&/?*[]*" Or Traegername Like "*]*" Then
MsgBox "Im Namen ist ein ungültiges Zeichen enthalten. Folgende Zeichen sind nicht erlaubt: [ : \ & / ? * [ ] * ", vbOKOnly + vbExclamation, "Computerabsturz"
Exit Sub
End If
For Each objBlatt In ThisWorkbook.Sheets
If objBlatt.name = Traegername Then
MsgBox "Dieser Träger exsistiert bereits! Bitte nutzen Sie das vorhandene Arbeitsblatt!", vbOKOnly + vbExclamation, "Allgemeine Schutzverletzung"
Exit Sub
End If
Next
ThisWorkbook.Worksheets("Haupt").Copy After:=Worksheets("GfM")
ActiveSheet.name = Traegername
ActiveSheet.Cell("C", 2).Value
Set objBlatt = Nothing
Exit Sub
FEHLER:
MsgBox "Fehler: Das zu kopierende Blatt " & strQuellBlatt & " existiert nicht.", vbOKOnly + vbCritical, "Schwerer Verlust"
End Sub
Das mag er übrigens gar nicht :
ThisWorkbook.Worksheets("Haupt").Copy After:=ThisWorkbook.Worksheets.Length-1
(auch mit -2).
Hab ich das "ActiveSheet.Cell ("C", 2).Value" jetzt an der richtigen Position? Er bringt mir da bei der Ausführung das dass Objekt die Ausführung nicht unterstützt.
MfG
Hello,
ThisWorkbook.Worksheets("Haupt").Copy After:=ThisWorkbook.Worksheets.Length-1
(auch mit -2).
stimmt, mein Fehler, .Count statt .Length
Hab ich das "ActiveSheet.Cell ("C", 2).Value" jetzt an der richtigen Position? Er bringt mir da bei der Ausführung das dass Objekt die Ausführung nicht unterstützt.
stimmt, mein Fehler, .Cells, nicht .Cell
sorry, habs ins Unreine geschrieben.
MfG
Rouven
Habs korrigiert, aber er meckert bei beiden noch rum. Die -1 oder -2 als Parameter hab ich alle probiert.
Sub CommandButton1_Click()
Dim Traegername As String
Dim objBlatt As Object
Dim strQuellBlatt As String
strQuellBlatt = "Haupt"
On Error GoTo FEHLER
Set objBlatt = ThisWorkbook.Sheets(strQuellBlatt)
On Error GoTo 0
Traegername = Application.InputBox("Bitte geben Sie den Namen des neuen Trägers ein!", "Name", Traegername)
If Traegername = "" Then Exit Sub
If Len(Traegername) > 31 Then
MsgBox "Der Name ist zu lang, er darf nicht mehr als 31 Zeichen enthalten.", vbOKOnly + vbExclamation, "Schwerer Ausnahmefehler"
Exit Sub
End If
If Traegername Like "*[:&/?*[]*" Or Traegername Like "*]*" Then
MsgBox "Im Namen ist ein ungültiges Zeichen enthalten. Folgende Zeichen sind nicht erlaubt: [ : \ & / ? * [ ] * ", vbOKOnly + vbExclamation, "Computerabsturz"
Exit Sub
End If
For Each objBlatt In ThisWorkbook.Sheets
If objBlatt.name = Traegername Then
MsgBox "Dieser Träger exsistiert bereits! Bitte nutzen Sie das vorhandene Arbeitsblatt!", vbOKOnly + vbExclamation, "Allgemeine Schutzverletzung"
Exit Sub
End If
Next
ThisWorkbook.Worksheets("Haupt").Copy After:=ThisWorkbook.Worksheets.Count
ActiveSheet.Cells("C", 2).Value
ActiveSheet.name = Traegername
Set objBlatt = Nothing
Exit Sub
FEHLER:
MsgBox "Fehler: Das zu kopierende Blatt " & strQuellBlatt & " existiert nicht.", vbOKOnly + vbCritical, "Schwerer Verlust"
End Sub
Hello,
ActiveSheet.Cells("C", 2).Value
*grml* OK, probier statt des "C" mal 3.
bzgl. des Copy nehme ich an, dass er ein Sheet statt einer Position möchte, du könntest also
After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count - 1)
ausprobieren.
MfG
Rouven
Suppi, jetzt schiebt er mit das Blatt ans Ende. Allerdings musst ich die -1 noch entfernen. Danke für die Hilfe.
ActiveSheet.Cells("3", 2).Value
Das macht er noch nicht. Fehlt jetzt nich irgendwie auch der Bezug auf die Zelle (C2 im Excel Blatt) in der jeweils der Name jetzt erscheinen soll?
mfg
Hello,
ActiveSheet.Cells("3", 2).Value
ActiveSheet.Cells(3, 2).Value
MfG
Rouven
Leider kommt immer noch ein Laufzeitfehler (438)!
-> Objekt unterstützt diese Eigenschaft oder Methode nicht!
Hello,
Leider kommt immer noch ein Laufzeitfehler (438)!
-> Objekt unterstützt diese Eigenschaft oder Methode nicht!
auf welchem Objekt (sollte markiert sein, nachdem du auf OK oder Debug oder sowas klickst) - im Zweifel musst du dazu kurzfristig das "On Error GoTo FEHLER" ausbauen.
MfG
Rouven
Also wenn ich auf Debuggen klicke, markiert der mir halt die komplette Zeile
ActiveSheet.Cells(2, 3).Value !
Also wenn ich auf Debuggen klicke, markiert der mir halt die komplette Zeile
ActiveSheet.Cells(2, 3).Value !
Ist ja auch kein Wunder - hast Du gesehen, was ich Dir oben geschrieben hatte?
Absolut geile Sache!
Habs über activesheet.range("C2").value = Traegername hinbekommen. Ohne Probleme beim ersten Mal.
"Eigentlich" bin ich jetzt fertig mit dem Script. Aber hab da im Prenzip noch eine Sache, die ich nach Ausführung des Scriptes immer noch mit der Hand machen muss. Vielleicht kann man das ja mit einbringen.
Es ist wie folgt:
Ich habe noch ein Blatt mit Namen "Auswertung". Dort habe ich eine Tabelle erstellt die mir meine ganzen Träger auswertet (die Tabellenblätter).
Dort habe ich diverse Funktionen eingebaut (ZÄHLENWENN, ANZAHL). Damit habe ich auch kein Problem. Funktioniert alles einwandfrei.
Ich muss nur jedesmal aufwendig erst vorne in die Tabelle (also die Auswertung) wieder den Namen eingeben (den von den Blättern -> sicher auch via activesheet.range("C2").value = Traegername realisierbar richtig?).
Das man das automatisch machen könnte, wäre sicherlich nicht so schwer mit der Funktion nehme ich an. Es muss halt nur erkannt werden das immer die folgende LEERE Zelle genutzt wird. Der Button mit dem alles ausgeführt wird, ist übrigens auf dem selben Blatt.
Ok, aber jetzt wirds echt kompliziert:
Diese ganzen ZÄHLENWENN Funktionen haben ja immer einen Bezug auf ein bestimmtes Tabellenblatt.
Bsp. Tabellenblatt mit Namen : TraegerXYZ
Auf dem Blatt "Auswertung" habe ich dort in einer Zelle die Funktion =ZÄHLENWENN(TraegerXYZ!H:H;Haupt!AQ9) ! Die Zelle AQ9 auf den Blatt Haupt gibt lediglich der Wert "Ja" wieder, sodass in der Auswertung immer nur dann gezählt wurde wenn bei Traeger XYZ in der Spalte H via DropDownFeld eben dieses JA ausgewählt wurde.
Aber das funktioniert ja wie gesagt.
Nur wäre es nun schön wenn in der Funktion von oben -> =ZÄHLENWENN(TraegerXYZ!H:H;Haupt!AQ9) der Name TraegerXYZ automatisch gesetzt werden würde (auf dem Auswertungsblatt). Dann würde das mühsame erstellen entfallen. Im gleichen Zuge sollte natürlich diese Zelle unter Auswertung erstellt werden. Sonst würde das ja auch kein Sinn machen.
Ich hoffe ihr habt das jetzt verstanden. Ist auch nicht leicht zu erklären.
Falls das nicht klappt, dank ich euch trotzdem für die Hilfe und fürs Durchlesen :)
MfG
Mathias
Absolut geile Sache!
Habs über activesheet.range("C2").value = Traegername hinbekommen. Ohne Probleme beim ersten Mal.
"Eigentlich" bin ich jetzt fertig mit dem Script. Aber hab da im Prenzip noch eine Sache, die ich nach Ausführung des Scriptes immer noch mit der Hand machen muss. Vielleicht kann man das ja mit einbringen.
Es ist wie folgt:
Ich habe noch ein Blatt mit Namen "Auswertung". Dort habe ich eine Tabelle erstellt die mir meine ganzen Träger auswertet (die Tabellenblätter).
Dort habe ich diverse Funktionen eingebaut (ZÄHLENWENN, ANZAHL). Damit habe ich auch kein Problem. Funktioniert alles einwandfrei.
Ich muss nur jedesmal aufwendig erst vorne in die Tabelle (also die Auswertung) wieder den Namen eingeben (den von den Blättern -> sicher auch via activesheet.range("C2").value = Traegername realisierbar richtig?).
Das man das automatisch machen könnte, wäre sicherlich nicht so schwer mit der Funktion nehme ich an. Es muss halt nur erkannt werden das immer die folgende LEERE Zelle genutzt wird. Der Button mit dem alles ausgeführt wird, ist übrigens auf dem selben Blatt.
Ok, aber jetzt wirds echt kompliziert:
Diese ganzen ZÄHLENWENN Funktionen haben ja immer einen Bezug auf ein bestimmtes Tabellenblatt.
Bsp. Tabellenblatt mit Namen : TraegerXYZ
Auf dem Blatt "Auswertung" habe ich dort in einer Zelle die Funktion =ZÄHLENWENN(TraegerXYZ!H:H;Haupt!AQ9) ! Die Zelle AQ9 auf den Blatt Haupt gibt lediglich der Wert "Ja" wieder, sodass in der Auswertung immer nur dann gezählt wurde wenn bei Traeger XYZ in der Spalte H via DropDownFeld eben dieses JA ausgewählt wurde.
Aber das funktioniert ja wie gesagt.
Nur wäre es nun schön wenn in der Funktion von oben -> =ZÄHLENWENN(TraegerXYZ!H:H;Haupt!AQ9) der Name TraegerXYZ automatisch gesetzt werden würde (auf dem Auswertungsblatt). Dann würde das mühsame erstellen entfallen. Im gleichen Zuge sollte natürlich diese Zelle unter Auswertung erstellt werden. Sonst würde das ja auch kein Sinn machen.
Ich hoffe ihr habt das jetzt verstanden. Ist auch nicht leicht zu erklären.
Falls das nicht klappt, dank ich euch trotzdem für die Hilfe und fürs Durchlesen :)
Gruß
Mathias
Hi,
im Zweifel musst du dazu kurzfristig das "On Error GoTo FEHLER" ausbauen.
was hat denn das damit zu tun? Wenn er das ausbaut, hat er keine Prüfung mehr, ob das Quellblatt exisitiert …
Viele Grüße
Jörg
Hello,
was hat denn das damit zu tun? Wenn er das ausbaut, hat er keine Prüfung mehr, ob das Quellblatt exisitiert …
ach, hab mich verguckt, ich dachte die Error-Behandlung bleibt an, hab die übernächste Zeile übersehen.
MfG
Rouven
Hi,
ActiveSheet.Cells("C", 2).Value
hier versuchst Du zwar, ihm beizubringen, wo er was machen soll, aber nicht,was er machen soll. ;-)
Versuch's mal so:
ActiveSheet.Cells(2, 3).Value = Traegername
Bei den Zellen hast Du zwei Möglichkeiten. Entweder Du gehst über das Range-Objekt, dann erfolgt die Zuweisung mit der Zelladresse:
activesheet.range("C2").value = Traegername
In dem Fall wird die Adresse in Gänsefüße geschrieben, weil es sich um einen String handelt. Die andere Möglichkeit ist die, die Du verwendest. Dann muss die Zelle mit der Zeile und der Spalte angesprochen werden, also
activesheet.cells(Zeile, Spalte)
Dabei handelt es sich aber um Zahlen - diese dürfen dann nicht in Gänsefüße, also:
ActiveSheet.Cells(2, 3).Value = Traegername
Das .Value kannst Du übrigens auch weglassen, das ist die Standardeigenschaft.
Viele Grüße
Jörg
Absolut geile Sache!
Habs über activesheet.range("C2").value = Traegername hinbekommen. Ohne Probleme beim ersten Mal.
"Eigentlich" bin ich jetzt fertig mit dem Script. Aber hab da im Prenzip noch eine Sache, die ich nach Ausführung des Scriptes immer noch mit der Hand machen muss. Vielleicht kann man das ja mit einbringen.
Es ist wie folgt:
Ich habe noch ein Blatt mit Namen "Auswertung". Dort habe ich eine Tabelle erstellt die mir meine ganzen Träger auswertet (die Tabellenblätter).
Dort habe ich diverse Funktionen eingebaut (ZÄHLENWENN, ANZAHL). Damit habe ich auch kein Problem. Funktioniert alles einwandfrei.
Ich muss nur jedesmal aufwendig erst vorne in die Tabelle (also die Auswertung) wieder den Namen eingeben (den von den Blättern -> sicher auch via activesheet.range("C2").value = Traegername realisierbar richtig?).
Das man das automatisch machen könnte, wäre sicherlich nicht so schwer mit der Funktion nehme ich an. Es muss halt nur erkannt werden das immer die folgende LEERE Zelle genutzt wird. Der Button mit dem alles ausgeführt wird, ist übrigens auf dem selben Blatt.
Ok, aber jetzt wirds echt kompliziert:
Diese ganzen ZÄHLENWENN Funktionen haben ja immer einen Bezug auf ein bestimmtes Tabellenblatt.
Bsp. Tabellenblatt mit Namen : TraegerXYZ
Auf dem Blatt "Auswertung" habe ich dort in einer Zelle die Funktion =ZÄHLENWENN(TraegerXYZ!H:H;Haupt!AQ9) ! Die Zelle AQ9 auf den Blatt Haupt gibt lediglich der Wert "Ja" wieder, sodass in der Auswertung immer nur dann gezählt wurde wenn bei Traeger XYZ in der Spalte H via DropDownFeld eben dieses JA ausgewählt wurde.
Aber das funktioniert ja wie gesagt.
Nur wäre es nun schön wenn in der Funktion von oben -> =ZÄHLENWENN(TraegerXYZ!H:H;Haupt!AQ9) der Name TraegerXYZ automatisch gesetzt werden würde (auf dem Auswertungsblatt). Dann würde das mühsame erstellen entfallen. Im gleichen Zuge sollte natürlich diese Zelle unter Auswertung erstellt werden. Sonst würde das ja auch kein Sinn machen.
Ich hoffe ihr habt das jetzt verstanden. Ist auch nicht leicht zu erklären.
Falls das nicht klappt, dank ich euch trotzdem für die Hilfe und fürs Durchlesen :)
MfG
Mathias
Hi,
Ich muss nur jedesmal aufwendig erst vorne in die Tabelle (also die Auswertung) wieder den Namen eingeben (den von den Blättern -> sicher auch via activesheet.range("C2").value = Traegername realisierbar richtig?).
Jaein. Die Auswertung ist ja in dem Moment nicht das aktive Blatt, also nicht das ActiveSheet. Du hast nun zwei Möglichkeiten. Entweder Du aktivierst das Blatt mit
Sheets("Auswertung").Select
, allerdings sollte man "Select" und "Activate" weitestgehend vermeiden. Jedoch könntest Du dann Deine Zeile verwenden. Oder Du sprichst das Blatt direkt an:
Sheets("Auswertung").Range("C2").Value = …
Das ist die elegantere Methode.
Das man das automatisch machen könnte, wäre sicherlich nicht so schwer mit der Funktion nehme ich an. Es muss halt nur erkannt werden das immer die folgende LEERE Zelle genutzt wird. Der Button mit dem alles ausgeführt wird, ist übrigens auf dem selben Blatt.
Die erste leere Zelle in Spalte C kannst Du so abfragen:
lngZ = Cells(rows.count, 3).End(XlUp).row + 1
Die 3 steht für Spalte C.
Falls das auf dem Blatt Auswertung geschehen soll, müsste es so sein:
lngZ = Sheets("Auswertung").Cells(rows.count, 3).End(XlUp).row + 1
Nur wäre es nun schön wenn in der Funktion von oben -> =ZÄHLENWENN(TraegerXYZ!H:H;Haupt!AQ9) der Name TraegerXYZ automatisch gesetzt werden würde (auf dem Auswertungsblatt). Dann würde das mühsame erstellen entfallen. Im gleichen Zuge sollte natürlich diese Zelle unter Auswertung erstellt werden. Sonst würde das ja auch kein Sinn machen.
Einfach mal als Ansatz (ungetestet):
Sheets("Auswertung").cells(lngz, 3).FormulaLocal = "=ZÄHLENWENN(" & Traegername & "!H:H;Haupt!AQ9)"
Klappt's?
Viele Grüße
Jörg
hi!
Also sieht ja schon ganz gut aus.
Erstmal zu ersten:
Hab mal etwas rumprobiert
Sheets("Auswertungen").Select
lngZ = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Range("C2").Value = Traegername
Das mit dem "C2" ist natürlich Quatsch. Nur wie bekomm ich jetzt die Verknüpfung zur zweiten Zeile? Weil irgendwie muss ich ja mitteilen das der diesen Traegernamen auch in die markierte freie Spalte setzten soll.
mfg
Hi,
Sheets("Auswertungen").Select
lngZ = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Range("C2").Value = TraegernameDas mit dem "C2" ist natürlich Quatsch. Nur wie bekomm ich jetzt die Verknüpfung zur zweiten Zeile? Weil irgendwie muss ich ja mitteilen das der diesen Traegernamen auch in die markierte freie Spalte setzten soll.
activesheet.cells(lngz, 3).value = traegername
schreibt es in die dritte Spalte (also C) der Zeile lngZ.
Viele Grüße
Jörg
Woha, einfach der Hammer!
Hat natürlich jetzt geklappt. Auch die Sache mit der ZÄHLENWENN Funktion scheint zu funktioneren. Vielen vielen DanK!
Werde noch ein bissel rumprobieren. Wenn noch was sein sollte,
melde ich mich wieder :)
Ok, vergiss das was ich geschrieben habe. Löschen brauch ich eigentlich nicht. Aber ne umbennen funktionen wär gut.
mfg
Hi,
Ok, vergiss das was ich geschrieben habe. Löschen brauch ich eigentlich nicht. Aber ne umbennen funktionen wär gut.
das sollte kein Problem sein.
Erstmal wirst Du eine Inputbox brauchen, in die dann eingetragen wird, welcher Träger umbenannt werden soll. Dann prüfst Du, ob die Eingabe valide ist, also 1., ob überhaupt etwas eingegeben wurde und 2., ob der eingegebene Trägername existiert. Das kannst Du mit der Find-Methode auf dem Auswertungsblatt machen (zur Not auch mit einer Schleife über die Tabellenblätter, was aber langsamer sein dürfte). Find gibt beim Erfolg ein Objekt zurück, das auch die Zeile enthält, wo der Name gefunden wurde. Die Zeile speicherst Du in einer Variablen.
Dann brauchst Du noch eine Inputbox, in die der neue Name eingegeben werden muss. Nach den Prüfungen auf Gültigkeit (Vorsicht: nicht vergessen, dass auch auf Gültigkeit eines Blattnamens geprüft werden muss) änderst Du dann auf dem Auswertungsblatt in der gefundenen Zeile (die steckt ja in der Variablen) in der entsprechenden Spalte den Namen.
Zum Schluss änderst Du noch die Name-Eigenschaft des Einzelblattes.
Das ist die einfachere Variante, die komfortablere wäre eine, bei der in eine Userform gleich beide Namen eingetragen werden. Da könntest Du auch gleich alle Trägernamen, die geändert werden können, in eine Liste zur Auswahl eintragen - so würde man da schon mal Tippfehler umgehen.
Viele Grüße
Jörg
Ok, ich komm schon wieder nicht weiter:
Private Sub CommandButton2_Click()
Dim XYZ As String
Dim objBlatt As Object
Dim strQuellBlatt As String
XYZ = Application.InputBox("Welcher Träger soll umbenannt werden?", "Schreibfehler gemacht?", XYZ)
If XYZ = "" Then Exit Sub
With Worksheets("Auswertungen").Range("a1:a500")
Set c = .Find("XYZ", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = "XYZ"
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Ok, ich komm schon wieder nicht weiter:
Woran hapert es denn?
Dim XYZ As String
Dim objBlatt As Object
Dim strQuellBlatt As String[…]
firstAddress = c.Address
Ich empfehle Dir, mal ganz oben in das Modul
Option Explicit
zu schreiben. Damit kannst Du nicht vergessen, Variablen zu deklarieren und umgehst damit schon mal Tippfehler.
Also - woran hapert es, welchen Schritt möchtest Du als nächsten einbauen?
Viele Grüße
Jörg
Ok, ich glaub ich hab doch noch eine Sache gefunden die ich gerne integieren würde.
Neuer Button: Träger löschen
Funktion: Es kann ja auch mal vorkommen das ein Träger gelöscht werden muss. Wenn das passiert müsste via Button erstmal das Blatt gelöscht werden (vorher müsste der Name des Trägers eingegeben werden) und gleichzeit auch die entsprechende Spalte in der Tabelle auf dem Blatt "Auswertungen". Damit dort keine hässlichen Leerzeilen entstehen sollte diese am besten "richtig" gelöscht werden also die anderen Zeilen quasi nachrücken.
Kannst mir da nochmal helfen?
MfG