Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Änderung von Einträgen nach Eingabe

Änderung von Einträgen nach Eingabe
26.09.2005 11:28:16
Einträgen
Hallo,
hatte mich schonmal hier gemeldet, vielleicht hat diesmal jemand eine Idee.
Folgendes, habe in Excel 2002 eine Tabelle, dort befinden sich 8 Spalten. In der 1.Spalte trage ich eine Ziffer von 1-7 ein, in den folgenden 7 spalten werden automatisch Striche gesetzt(Anzahl je nach Ziffer)(BSP: trage ich 3 ein, werden in den ersten 3 spalten je ein Strich gesetzt). Diese Eintragungen müssten auch von Hand abänderbar sein.
Hat dazu jemand ne Lösung?
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Änderung von Einträgen nach Eingabe
26.09.2005 12:25:14
Einträgen
Ich hab ja schonmal so einen kleinen Ansatz:
Als Beispiel:
Public

Function Druck_setzen(ByVal k As Integer, ByVal j As Integer)
For i = 1 To 14 'Spalten
If k = 7 Then
'die 7 Tagewoche
sp = Chr(65 + i)
Application.Range(sp & j + 3).Value = "x"
ElseIf k = 6 Then
'die 6 Tagewochen
If i = 7 Or i = 14 Then
Else
sp = Chr(65 + i)
Application.Range(sp & j + 3).Value = "x"
End If
ElseIf k = 5 Then
'Die 5 Tagewoche
If i < 6 Or i > 7 And i < 13 Then
sp = Chr(65 + i)
Application.Range(sp & j + 3).Value = "x"
End If
ElseIf k = 3 Then
'Die 3 Tagewoche
If i = 1 Or i = 3 Or i = 5 Or i = 8 Or i = 10 Or i = 12 Then
sp = Chr(65 + i)
Application.Range(sp & j + 3).Value = "x"
End If
ElseIf k = 2 Then
Application.Range("B" & j + 3).Value = "x"
Application.Range("D" & j + 3).Value = "x"
Application.Range("F" & j + 3).Value = "x"
Application.Range("I" & j + 3).Value = "x"
Application.Range("K" & j + 3).Value = "x"
End If
Next i
End Function

Nur wie bekomme ich das hin, das er die Spalte nach Einträgen prüft und dann die Kreuze automatisch setzt?
Anzeige
AW: Änderung von Einträgen nach Eingabe
26.09.2005 14:17:09
Einträgen
Hi,
folgendes ins Modul des Tabellenblattes:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Integer
If Target.Column <> 1 Then Exit Sub
If Not IsNumeric(Target.Value) Then Exit Sub
If Target.Value > 7 Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
MsgBox "Bitte max '7' eingeben"
Exit Sub
End If
For a = 2 To Target.Value + 1
Cells(Target.Row, a).Value = "x"
Next a
End Sub

Schönen Gruß,
Andi
Anzeige
AW: Änderung von Einträgen nach Eingabe
26.09.2005 15:25:00
Einträgen
Fantastisch. Klappt sehr gut.
Kann man da eigentlich noch einbauen, das bei 2,3,4 die Kreuze zufällig gesetzt werden?
Vielen vielen Dank schonmal
AW: Änderung von Einträgen nach Eingabe
26.09.2005 16:21:45
Einträgen
Hi,
hab ich das richtig verstanden: bei Eingabe von 2, 3 oder 4 sollen entsprechend 2, 3 oder 4 Kreuzchen zufällig auf die 7 Spalten verteilt werden? Und bei 1, 5, 6 und 7 bleibt alles beim alten?
Eine Art Zufallsverteilung bekommt man mit folgendem Code hin, ob das einer strengen statistischen oder stochastischen Überprüfung standhält kann ich aber leider nicht beurteilen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim a As Integer
Dim b As Integer
b = 0
If Target.Column <> 1 Then Exit Sub
If Not IsNumeric(Target.Value) Then Exit Sub
If Target.Value > 7 Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
MsgBox "Bitte max '7' eingeben"
Exit Sub
End If
Select Case Target.Value
Case 2, 3, 4
For a = 2 To 8
If 8 - a < Target.Value - b Then
Cells(Target.Row, a).Value = "x"
Else
If Rnd() > (1 / 7) * Target.Value Then
Cells(Target.Row, a) = "x"
b = b + 1
End If
End If
If b = Target.Value Then Exit Sub
Next a
Case Else
For a = 2 To Target.Value + 1
Cells(Target.Row, a).Value = "x"
Next a
End Select
End Sub

Schönen Gruß,
Andi
Anzeige
AW: Änderung von Einträgen nach Eingabe
26.09.2005 19:52:24
Einträgen
Du bist mein persönlicher Held *g* Funzt prima.
Thanks
gern geschehen...
26.09.2005 22:55:21
Andi
Danke für die Rückmeldung.
Schönen Gruß,
Andi
AW: gern geschehen...
27.09.2005 15:44:21
frekuz
kleiner Pferdfuss ist allerdings dabei, die Kreuze werden erst gemacht, wenn ich was in die Zelle eintrage. bei ner Kopieraktion dieser Spalte von einem Tabellenblatt ins Andere, zieht die Funktion nicht. Obowhl ja eindeutig ein Change auf diesen Zellen liegt.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige