Registriert seit: 09.12.2014
Version(en): 2013
Sorry der Button ist auf dem Tabellenblatt Mitarbeiter (Butten 18)
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Mario,
es ging doch anfänglich um einen Fehler der an der von Dir im beschriebenen Stelle auftauchen sollte.
Ich habe geschrieben, dass es nicht am Code liegen kann.
Und so wie ich es sehe, hast Du selber festgestellt, wo der Fehler lag und es eliminiert.
Es lag wohl daran, dass Du einen Bereich zum Sortieren genommen hast, in dem Verbundene Zellen sind.
Das mit dem Löschen ist jetzt eine ganz neue Frage.
Wann soll gelöscht werden, müssen bestimmte Dinge beachtet werden, müssen danach Berechnung geführt werden, kann ohne Vorwarnung gelöscht werden etc..?
Im Grunde wäre das wieder ein neues Thema.
Was mir noch aufgefallen ist, Du schreibst beim Betätigen des Schalters "Übernehmen" in die falschen Zeilen (6 Zeilen zu hoch).
Diese Zele im Code: xZeile = ComboBox1.ListIndex + 1 müsste so lauten: xZeile = ComboBox1.ListIndex + 7
Außerdem, was soll den Da übernommen werden. Man kann doch nur das Auswählen, was schon in der Tabelle steht. Und wenn der Code richtig arbeitet, dann wieder alles nur zurückschreiben.
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Mario
Registriert seit: 09.12.2014
Version(en): 2013
Hallo Attila,
ja den Fehler hatte ich schon gefunden.
die Combobox liegt in der UF. Hier kann man über TextBoxen Name usw. eingeben und diese werden dann in die Tabellenblätter geschrieben (neuer Mitarbeiter wird angelegt).
Wenn der Mitarbeiter aber Kündigt, will ich ihn auch wieder aus der Datei löschen können. Und zwar auf dem Tabellenblatt Mitarbeiter und in den Monaten.
Eine Vorwarnung sollte natürlich erfolgen. Danach sollen die Tabellenblätter wieder nach Namen alphabetisch sortiert werden (im Bereich B8:AP200.
Das ist jedenfalls meine Vorstellung.
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Mario,
wenn Du aus der Combobox1 einen Namen auswählst und auf "übernehmen" klickst, dann werden die Angaben in die falsche Zeile zurückgeschrieben.
Beispielsweise bei Auswahl des ersten Namen werden die Angaben für diesen in Zeile 2 geschrieben.
ComboBox1.ListIndex + 1 ist deswegen falsch.
Das Löschen ginge nach diesem Muster:
Code:
If MsgBox("Möchten sie den Mitarbeiter wirklich aus der Liste löschen?", vbYesNo, "Frage?") = vbYes Then
Rows(ComboBox1.ListIndex + 7).Delete
End If
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Mario
Registriert seit: 09.12.2014
Version(en): 2013
Hallo Attilla,
das klappt wirklich super :19:.
Vielen Dank!
Hast du noch eine Idee wie ich alle Tabellenblätter (1-13) alphabetisch sortieren kann.
Momentan sortiert ich nur das aktuelle Tabellenblatt mit folgenden Code
[ActiveSheet.Range("B8:AP200").Sort Key1:=Range("B8"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("B8").Select]
Dann ist die Spaltenzuordnung auf den anderen Blättern (Monaten) aber durcheinander, da dann der Urlaub nach einfügen eines neuen Mitarbeiters durcheinander gerät.
VG Mario
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Mario,
sortier nur die Spalten B und C, dann bau die Formeln in den Monatsspalten so nach:
Arbeitsblatt mit dem Namen 'Mitarbeiter' |
| I | J |
6 | Januar | Februar |
7 |
8 | | |
Zelle | Formel |
I8 | =INDEX(Januar!AN9:AN100;VERGLEICH(B8;März!B9:B100;0)) |
J8 | =INDEX(Februar!AN9:AN100;VERGLEICH(B8;März!B9:B100;0)) |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Mario
Registriert seit: 09.12.2014
Version(en): 2013
Hallo Attila,
vielen Dank für deine wiederholte schnelle Hilfe :28:.
Aber hier ist es wirklich wichtig, dass die gesamten Zeilen neu sortiert werden. Der der Urlaub auf den einzelnen Tabellenblättern mit u eingetragen wird. Diese stehen nach dem einfügen und sortieren dann aber bei den falschen Mitarbeitern.
VG Mario
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Mario,
Zitat:Aber hier ist es wirklich wichtig, dass die gesamten Zeilen neu sortiert werden.
nein, die Formel holt sich das aus den richtigen Zellen, anders geht es nicht wenn Formeln in den Monatsspalten stehen.
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Mario
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Mario,
sorry,
ich sehe gerade, dass Du in den Monatsblättern auch Zellverknüpfung zur Mitarbeiter Tabelle hast.
Das passt mein letzter Vorschlag natürlich nicht.
Eine Lösung habe ich leider auch nicht.
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Mario
Registriert seit: 01.11.2014
Version(en): 2007, 2010
Hallo zusammen,
ich hätte zwar einen Ansatz wie man die Verknüpfungen entfernen und als Werte
zurück schreiben könnte, allerdings fehlt mir gerade die Inspiration wie man vorher
oder anschließend die entsprechende Formeln wieder zurück schreibt.
Code:
Sub VerknüpfungenAusAllenBlätternEntfernen()
Dim Blatt As Worksheet
Dim Zelle As Range
For Each Blatt In ActiveWorkbook.Sheets
For Each Zelle In ActiveSheet.UsedRange
If InStr(Zelle.Formula, "!") > 0 Then Zelle.Value = Zelle.Value
Next Zelle
Next Blatt
End Sub
To be discussed...
Gruß
Max
Folgende(r) 1 Nutzer sagt Danke an Max für diesen Beitrag:1 Nutzer sagt Danke an Max für diesen Beitrag 28
• Mario