Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
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
Inhaltsverzeichnis

mehrere Zellwerte mittels Abfrage ändern

mehrere Zellwerte mittels Abfrage ändern
07.03.2015 10:21:41
Cris

Hi,
Ich möchte mittels einer Abfrage von einem Zellwert gleich mehrere Abfragen anderer Zellen einleiten und aufgrund der Ergebnisse in einer anderen Zelle einen Wert subtrahieren.
hab da mal ein bisschen rumgebastelt, bin aber trotz Hilfe nicht zum gewünschten Ergebnis gekommen.
Problem:
in Zelle E5, K5 und Q5 soll nachgesehen werden ob der Wert "X" eingetragen ist. wenn nicht soll in Zelle F5, L5 und R5 der Wert 20 abgezogen werden. wobei sich die Abfrage von E5 auf F5, K5 auf L5 und Q5 auf R5 beziehen soll.
mein bisheriger Versuch sieht so aus.

Sub Spieler3_20_Click()
If Range("O5").Value = "" Then
Range("O5").Value = "X"
Else
If Range("P5").Value = "" Then
Range("P5").Value = "X"
Else
If Range("Q5").Value = "" Then
Range("Q5").Value = "X"
Else
If Range("Q5").Value = "X" Then
Range("E5").Select
Else
If Range("E5").Value = "" Then
Range("F5").Value = Range("F5").Value - 20
End If
End If
End If
End If
End If
End Sub

Ich hab vorerst nur die Abfrage für E5 eingebaut damit ich den Überblick besser behalte, trotzdem funktioniert das nicht so wie ich es mir vorstelle.
Ist mein Vergewaltigungsversuch mittels VBA überhaupt zu lösen?
Danke schon mal im Voraus
lg
Cris

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere Zellwerte mittels Abfrage ändern
07.03.2015 11:17:33
Gerd L
Hallo Chris,
die Codezeilen sind an deiner Beschreibung unter "Problem:" angelehnt. Ob u. wann ein "X" gesetzt werden soll, erschließt sich mir nicht.
Dim objCell As Range
For Each objCell In Range("E5:E5,K5:K5,Q5:Q5")
If UCase$(objCell.Value) = "X" Then objCell.Offset(0, 1).Value = objCell.Offset(0, 1).Value -  _
20
Next
Gruß Gerd

AW: mehrere Zellwerte mittels Abfrage ändern
07.03.2015 13:57:13
Cris
Hallo Gerd,
das setzten des Wertes X hab ich ja bereits abgeschlossen.
Beim nochmaligen Klicken des Buttons soll nur mehr nachgesehen werden ob in den anderen Zellen ebenfalls schon ein X eingetragen ist. Wenn ja soll in der korrelierenden Zelle nichts passieren, wenn nein, dann soll eben der Wert 20 abgezogen werden.
Deinen Code hab ich mal so angewendet. Leider führt er mich auch nicht zum gewünschten da er scheinbar die Abrage nach dem x nicht durchführt.
 Sub Spieler3_20_Click()
Dim objCell As Range
If Range("O5").Value = "" Then
Range("O5").Value = "X"
Else
If Range("P5").Value = "" Then
Range("P5").Value = "X"
Else
If Range("Q5").Value = "" Then
Range("Q5").Value = "X"
Else
For Each objCell In Range("E5:E5,K5:K5,Q5:Q5")
If UCase$(objCell.Value) = "X" Then objCell.Offset(0, 1).Value = objCell.Offset(0, 1).Value -  _
20
Next
End If
End If
End If
End Sub

Anzeige
AW: mehrere Zellwerte mittels Abfrage ändern
07.03.2015 14:03:15
Cris
das setzten des Wertes X hab ich ja bereits abgeschlossen.
Beim nochmaligen Klicken des Buttons soll nur mehr nachgesehen werden ob in den anderen Zellen ebenfalls schon ein X eingetragen ist. Wenn ja soll in der korrelierenden Zelle nichts passieren, wenn nein, dann soll eben der Wert 20 abgezogen werden.
Deinen Code hab ich mal so angewendet. Leider führt er mich auch nicht zum gewünschten da er scheinbar die Abrage nach dem x nicht durchführt.

Sub Spieler3_20_Click()
Dim objCell As Range
If Range("O5").Value = "" Then
Range("O5").Value = "X"
Else
If Range("P5").Value = "" Then
Range("P5").Value = "X"
Else
If Range("Q5").Value = "" Then
Range("Q5").Value = "X"
Else
For Each objCell In Range("E5:E5,K5:K5,Q5:Q5")
If UCase$(objCell.Value) = "X" Then objCell.Offset(0, 1).Value = objCell.Offset(0, 1).Value -   _
_
20
Next
End If
End If
End If
End Sub 

Anzeige
AW: mehrere Zellwerte mittels Abfrage ändern
13.03.2015 20:48:50
Tobias Rupp
Hallo Cris,
ich hab das folgendermaßen verstanden.
beim 1.Klick soll in O5 ein X und sonst nichts passieren
beim 2.Klick soll in P5 ein X und sonst nichts passieren
beim 3.Klick soll in Q5 ein X und sonst nichts passieren
beim 4.Klick soll wenn in E5 nichts steht, in F5 20 abgezogen werden
und wenn in K5 nichts steht, in L5 20 abgezogen werden
und wenn in Q5 nichts steht, in R5 20 abgezogen werden (eigentlich unnötig, da da ja dann auf jeden Fall ein X steht)
Hab das mal folgendermaßen versucht in deinem einfachen Stil umzusetzen:

Sub Spieler3_20_Click()
If Range("Q5").Value = "X" Then
Range("E5").Select
If Range("E5").Value = "" Then
Range("F5").Value = Range("F5").Value - 20
End If
If Range("K5").Value = "" Then
Range("L5").Value = Range("L5").Value - 20
End If
If Range("Q5").Value = "" Then
Range("R5").Value = Range("R5").Value - 20
End If
End If
If Range("O5").Value = "" Then
Range("O5").Value = "X"
Else
If Range("P5").Value = "" Then
Range("P5").Value = "X"
Else
If Range("Q5").Value = "" Then
Range("Q5").Value = "X"
Else
End If
End If
End If
End Sub

Anzeige
AW: mehrere Zellwerte mittels Abfrage ändern
14.03.2015 09:50:30
Cris
Hallo Tobias,
danke, das ist genau das was ich gesucht habe.
Wegen dem "einfachen Stil"
leider habe ich VBA nicht gelernt sondern mir ein paar Kleinigkeiten selber aus diversen Büchern und Foren zusammengebastelt.
Ich war zwar am Überlegen ob ich mir einen Kurs gönne, leider fehlt die Zeit dazu.
Online habe ich das Problem das ich nicht die nötige Konsequenz habe wenn mal die Sonne draussen scheint oder Freunde zu Besuch kommen.
lg
Cris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige