Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ZÄHLENWENN

ZÄHLENWENN
01.06.2008 17:15:00
Jörg
Hoi habe folgender Code von Armin bekommen

Private Sub Worksheet_Change(ByVal Target As Range)
Dim RowCount As Integer
Application.EnableEvents = False
Select Case Target.Value
Case "1"
Target.Value = "5:45-13.00"
Target.Offset(1, 0).Value = 400
End Select
Application.EnableEvents = True
End Sub


Das war genau was ich wollte nun meine erneutes Problem.
Ich gebe u.a. in eine Spalte mehrfach die Zahl 1 ein. Es erschient sofort 5:45-13:00
sehr gut.
Wenn ich dann über ZÄHLENWENN alle Felder nach 5:45-13:00 zählen möchte dann kommt grundsätzlich eine Zahl, die jedoch sofort wieder in eine Uhrzeit umgewandelt wird.
Klar. ist so, aber die Funktion ist auch weg.
Gibt es eine Möglichkeit den Code von Oben nur einem bestimmten Bereich eines Sheets zuzuordnen.
Wäre eine Pracht.
Und gibt es eine Möglichkeit, den obengenannten Code nach der Eingabe wieder Rückgängig zu machen.
Es wäre auch möglich, wenn ich erst verschiedene Zahlen in einem Bereich eingeben, dann den Code abspielen lassen und alles wird danach geändert.
Ich weiß etwas viel, und vieleicht etwas umständlich geschrieben.
Gruß und Danke
Jörg

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ZÄHLENWENN
01.06.2008 17:33:00
Franc

Private Sub Worksheet_Change(ByVal Target As Range)
Dim RowCount As Integer
If Not Application.Intersect(Target, Range("A1:E20")) Is Nothing Then
Application.EnableEvents = False
If Target.Value = "1" Then
Target.Value = "5:45-13.00"
Target.Offset(1, 0).Value = 400
End If
Application.EnableEvents = True
End If
End Sub


Da ist nen Fehler drin
01.06.2008 17:37:00
Franc
grad erst gesehen. Bei deinem Makro steht 13.00.
Richtig ist wohl 13:00 oder?
Die Fromel war sicher immer sofort weg, weil sie den Wert nur 1 x gefunden hat aber das umgehst ja jetzt mit der Bereichseingrenzung.
Weiterhin ist "Dim RowCount As Integer" unklar. Geht das Makro nich weiter?

Anzeige
AW: ZÄHLENWENN
01.06.2008 17:42:46
Jörg
Was ist neu an der Formel
mit If
anstatt Case.
Meine gesamter Code lautet

Private Sub Worksheet_Change(ByVal Target As Range)
Dim RowCount As Integer
Application.EnableEvents = False
Select Case Target.Value
Case "1a"
Target.Value = "5:45-13.00"
Target.Offset(1, 0).Value = "Kasse"
Case "18"
Target.Value = "18:00-00.00"
Target.Offset(1, 0).Value = ""
Target.Offset(0, 1).Value = "00:00-02:00"
Target.Offset(1, 1).Value = ""
Case "17"
Target.Value = "17:00-00.00"
Target.Offset(1, 0).Value = ""
Target.Offset(0, 1).Value = "00:00-01:00"
Target.Offset(1, 1).Value = ""
Case "19"
Target.Value = "19:00-00.00"
Target.Offset(1, 0).Value = ""
Target.Offset(0, 1).Value = "00:00-03:00"
Target.Offset(1, 1).Value = ""
Case "3a"
Target.Value = "20:45-00.00"
Target.Offset(1, 0).Value = "Shit"
Target.Offset(-2, 1).Value = "00:00-06:00"
Target.Offset(-1, 1).Value = "Shit"
Case "1n"
Target.Value = "6:00-12.45"
Target.Offset(1, 0).Value = ""
Case "3"
Target.Value = "20:45-00:00"
Target.Offset(1, 0).Value = ""
Case "a"
Target.Value = "00:00-06:00"
Target.Offset(1, 0).Value = ""
Case "2a"
Target.Value = "12:45-21.00"
Target.Offset(1, 0).Value = "Kasse"
Case "2"
Target.Value = "13:00-21.00"
Target.Offset(1, 0).Value = ""
Case "7"
Target.Value = "7:00-15.00"
Target.Offset(1, 0).Value = ""
Case "8"
Target.Value = "8:00-16.00"
Target.Offset(1, 0).Value = ""
Case "9"
Target.Value = "9:00-17.00"
Target.Offset(1, 0).Value = ""
Case "10"
Target.Value = "10:00-18.00"
Target.Offset(1, 0).Value = ""
Case "16"
Target.Value = "16:00-24.00"
Target.Offset(1, 0).Value = ""
Case "1"
Target.Value = "5:45-13.15"
Target.Offset(1, 0).Value = ""
Case "DB"
Target.Value = "18:00-20.00"
Target.Offset(1, 0).Value = "DB"
Case "Dspwg1"
Target.Value = "8:30-12.30"
Target.Offset(1, 0).Value = "Dsp.-Walk"
Target.Offset(2, 0).Value = "Gottm."
Case "Dspwg2"
Target.Value = "12:30-16.30"
Target.Offset(1, 0).Value = "Dsp.-Walk"
Target.Offset(2, 0).Value = "Gottm."
Case "Dspv"
Target.Value = "7:45-11.45"
Target.Offset(1, 0).Value = "Dsp.-Volley"
Target.Offset(2, 0).Value = "Ehingen"
Case "Dspb"
Target.Value = "9:30-13.30"
Target.Offset(1, 0).Value = "Dsp.-Baske"
Target.Offset(2, 0).Value = "Ehingen"
Case "Dspf"
Target.Value = "9:00-13:00"
Target.Offset(1, 0).Value = "Dsp.-Fuss"
Target.Offset(2, 0).Value = "Ehingen"
Case "Dspfff"
Target.Value = "14:30-18.30"
Target.Offset(1, 0).Value = "Dsp.-FFF"
Target.Offset(2, 0).Value = "Randegg"
Case "WSVB"
Target.Value = "13:00-17.00"
Target.Offset(1, 0).Value = "WSV"
Target.Offset(2, 0).Value = "Büssl."
Case "WSVE"
Target.Value = "7:45-11:45"
Target.Offset(1, 0).Value = "WSV"
Target.Offset(2, 0).Value = "Ehingen"
Case "Scht1"
Target.Value = "07:00-10:30"
Target.Offset(1, 0).Value = "SCH/Te."
Case "Scht2"
Target.Value = "09:00-12:30"
Target.Offset(1, 0).Value = "SCH/Te."
Case "Schi1"
Target.Value = "06:45-10:45"
Target.Offset(1, 0).Value = "SCH/Im."
Case "Schi2"
Target.Value = "08:45-12:45"
Target.Offset(1, 0).Value = "SCH/Im."
Case "BD-1"
Target.Value = "7:30-12:00"
Target.Offset(1, 0).Value = "12:30-16:30"
Target.Offset(2, 0).Value = "BD"
Case "BD-2"
Target.Value = "8:30-12:00"
Target.Offset(1, 0).Value = "12:30-17:30"
Target.Offset(2, 0).Value = "BD"
End Select
Application.EnableEvents = True
End Sub


Anzeige
AW: ZÄHLENWENN
01.06.2008 17:46:00
Jörg
anbei die Datei

Die Datei https://www.herber.de/bbs/user/52740.xls wurde aus Datenschutzgründen gelöscht


AW: ZÄHLENWENN
01.06.2008 17:59:00
Jörg
Hallo Franc
also sowie ich getestet habe funzt dien Code super
gibt es jetzt noch die Möglichkeit, dass ich die zahl1 eingeben dann event über Makro diesen Code aktiviere
Gruß Jörg

AW: ZÄHLENWENN
01.06.2008 19:25:19
Franc
https://www.herber.de/bbs/user/52744.xls
2 Möglichkeiten
Einmal das worksheet Change ereignis mit Hilfe von einem "Schalter" an/aus machen
oder
Mit dem ersetzen Makro erst die Daten eintragen und dann alle Zellen einzeln durchgehen und entsprechend ersetzen.
Bei beiden Makros habe ich aktuell als Bereich "B3:R54" gewählt.
Es sind immer noch Daten drin, wo ein "." anstatt ein ":" in der Zeit enthalten ist.
Ist das so gewollt?

Anzeige
AW: ZÄHLENWENN
01.06.2008 19:30:41
Jörg
Hey Franc
geil.
Nee das ist nicht gewollt, habe es aber schon verbessert.
Nun wenn ich ersetzt ist das fix,
kann ich das Rückgängig machen
wäre Super
Was heisst Change an/aus
Danke Gruß Jörg

AW: ZÄHLENWENN
01.06.2008 19:52:58
Franc
Vom Makro durchgeführte Aktionen kann man nicht rückgängig machen.
Change an/aus ist nur der Name und den habe ich auf das worksheet_change erreignis bezogen.
In dem kleinen Makro kann man den "Schalter" auf true oder false stellen.
Aktuell ist das Worksheet_change Erreignis noch aktiv.
Am Anfang steht aber if Schalter = False then exit sub
Wenn also der Schalter den Wert False hat, dann beendet er direkt das Makro.
Wenn du das Makro klickst, schaltet er um und der Schalter hat den Wert true und demzufolge wird das Worksheet_Change erreignis direkt ausgeführt.
Wenn du jetzt 1a eingibtst, wird es direkt ersetzt. Ist der Schalter aber aus passiert nichts. (wenn du kein Worksheet_change erreignis willst, dann kann das was in "Tabelle (01-15) drinsteht auch löschen und nutzt dann nur noch das Makro was aktuell in Modul 2 drin ist.
Ist er aus(false) dann kann man eine 1a eingeben, das worksheet_change erreignis

Anzeige
AW: ZÄHLENWENN
01.06.2008 20:03:37
Jörg
Soweit so gut.
Kann man die Werte die ersetzr wurden wieder rückgänig machen
oder 5:45-13:15 wieder zu 1
ich denke das wird schwierig
Oder?
Gruß Jörg

AW: ZÄHLENWENN
01.06.2008 20:53:13
Franc
Einfach das selbe Makro nur umgekehrt. ^^
Aber wie gesagt, Änderungen die durch ein Makro durchgeführt werden, kann man nicht rückgängig machen.

Sub zurueck()
Dim Zelle As Range
Schalter = False
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each Zelle In Worksheets("01-15").Range("B3:R54")
Select Case Zelle.Value
Case "5:45-13:00"
Zelle.Value = "1a"
Zelle.Offset(1, 0).Value = ""
Case "18:00-00:00"
Zelle.Value = "18"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(0, 1).Value = ""
Zelle.Offset(1, 1).Value = ""
Case "17:00-00:00"
Zelle.Value = "17"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(0, 1).Value = ""
Zelle.Offset(1, 1).Value = ""
Case "19:00-00:00"
Zelle.Value = "19"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(0, 1).Value = ""
Zelle.Offset(1, 1).Value = ""
Case "20:45-00:00"
Zelle.Value = "3a"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(-2, 1).Value = ""
Zelle.Offset(-1, 1).Value = ""
Case "6:00-12:45"
Zelle.Value = "1n"
Zelle.Offset(1, 0).Value = ""
Case "20:45-00:00"
Zelle.Value = "3"
Zelle.Offset(1, 0).Value = ""
Case "00:00-06:00"
Zelle.Value = "a"
Zelle.Offset(1, 0).Value = ""
Case "12:45-21:00"
Zelle.Value = "2a"
Zelle.Offset(1, 0).Value = ""
Case "13:00-21:00"
Zelle.Value = "2"
Zelle.Offset(1, 0).Value = ""
Case "7:00-15:00"
Zelle.Value = "7"
Zelle.Offset(1, 0).Value = ""
Case "8:00-16:00"
Zelle.Value = "8"
Zelle.Offset(1, 0).Value = ""
Case "9:00-17:00"
Zelle.Value = "9"
Zelle.Offset(1, 0).Value = ""
Case "10:00-18:00"
Zelle.Value = "10"
Zelle.Offset(1, 0).Value = ""
Case "16:00-24:00"
Zelle.Value = "16"
Zelle.Offset(1, 0).Value = ""
Case "5:45-13:15"
Zelle.Value = "1"
Zelle.Offset(1, 0).Value = ""
Case "18:00-20:00"
Zelle.Value = "DB"
Zelle.Offset(1, 0).Value = ""
Case "8:30-12:30"
Zelle.Value = "Dsp-WG1"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(2, 0).Value = ""
Case "12:30-16:30"
Zelle.Value = "Dsp-WG2"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(2, 0).Value = ""
Case "7:30-12:00"
Zelle.Value = "BD-1"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(2, 0).Value = ""
Case "8:30-12:00"
Zelle.Value = "BD-2"
Zelle.Offset(1, 0).Value = ""
Zelle.Offset(2, 0).Value = ""
End Select
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub


Anzeige
AW: ZÄHLENWENN
01.06.2008 22:10:18
Jörg
Danke
werde mir die Datei soweit zurücksetzen das sie stimmt.
nochmals vielen Dank
Gruß aus Ba-Wü
Jörg

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige