Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen automatisch überspringen

Zellen automatisch überspringen
28.06.2006 12:08:31
Jule
Hallo Excel-Freunde
- kann mir biiiiitttteee jemand helfen?!?
bin eindeutiger Anfänger was Excel anbelangt.
Habe folgende Frage:
Wenn in Zelle A1 der Wert 1 manuell eingegeben wird, soll in den Zellen B1-E1 jeweils der Wert "0" eingetragen werden.
Dies habe ich über eine Wenn-Formel hinbekommen.
Jetzt möchte ich das der Cursor automatisch in Zelle F1 springt. Ist das möglich?
Es gibt aber auch den Fall das manuell eine "2" in Zelle A1 eingegeben wird und somit keine "0"en in den Zellen B1-E1 ausgefüllt werden. In dem Fall soll der Cursor normal weiter in Zelle B1 springen.
Habe selbst schon ein wenig weiter geforscht und bin zu dem Ergebnis gekommen, das soetwas wohl mit einem Makro funktioniert!
Wie gesagt, kenne mich gar nicht aus ...
Bei meinem Versuch mit folgendem Makro: (hab ich irgendwo kopiert)
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = 1 Then Range("F1").Select
End Sub

funktionierte es auf den ersten Blick 100%-ig:
Bei Eingabe von "1" in Zelle A1, füllten sich die Zellen B1-E1 mit "0" und der Cursor sprang automatisch in Zelle F1 -yipieee
aber wenn ich dann in irgendeine andere Zelle irgendwas eingab, sprang der Cursor wieder in Zelle F1 (:- da ja wie im Makro gefordert in Zelle A1 eine "1" steht....
kann mir dabei vielleicht jemand weiterhelfen?
(Wenns geht in ANFÄNGERRISCH)
Vielen Dank in Voraus und einen schönen Tag noch
LG Jule

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen automatisch überspringen
28.06.2006 12:13:01
Emilia
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1:A200") = 1 Then Range("F1").Select
End If
End Sub

Gruß Emi
AW: Zellen automatisch überspringen
28.06.2006 12:34:09
Mustafa
Hallo Emilia,
hast du deinen Code mal ausprobiert?
Wenn nicht dann machs mal. :-)))
Viele Grüße aus Köln.
AW: Zellen automatisch überspringen
28.06.2006 12:24:19
Jan

Private Sub Worksheet_Change(ByVal Target As Range)
If Cells(1, 1)=1 Then Cells(1, 6).Select
End Sub

Das sollte klappen.
AW: Zellen automatisch überspringen
28.06.2006 12:31:54
Mustafa
Hallo Jan,
auch bei deinem Code würde bei jeder Änderung die Zelle F1 gewähllt werden wenn in Zelle A1 eine 1 steht.
Das soll ja nur passieren wenn in Zelle A1 eine 1 reingeschrieben wird und nur dann.
Darum muss die Zeile If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
mit in den Code hinein.
Viele Grüße aus Köln.
Anzeige
AW: Zellen automatisch überspringen
28.06.2006 12:29:19
Mustafa
Hallo Jule,
Wenn dieses Ereigniss nur bei der Zelle A1 passieren soll, dann füge deinem Code die Folgende Zeile voran:
If Intersect(Target, Range("a1")) Is Nothing Then Exit Sub
Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.
AW: Zellen automatisch überspringen
28.06.2006 12:55:33
Jule
Wow!
Erstmal danke für euro super-schnelle und erfolgversprechende Hilfe!
Es funktioniert.
Jetzt hab ich aber noch eine Frage ...
wie kriege ich das hin wenn ich das für die ganze Spalte beziehen möchte.
Also wenn in A2 eine "1" eingefügt wird ... springe nach F2
... wenn in A3 eine "1" eingefügt wird ... springe nach F3
...
bis wenn in A 305 eine "1" ... springe nach F305
- kann man auch mehrer Makros machen?
weil ich die gleiche Funktion noch ein par mal in der Tabelle bräuchte,
also zb. zusätzlich:
wenn in G1 eine "1" ... springe nach K1
wenn in G2 eine "1" ... springe nach K2 usw.
also nochmals 1000 Dank
LG Jule
Anzeige
AW: Zellen automatisch überspringen
28.06.2006 13:09:04
Mustafa
Hallo Jule,
ersetze den alten Code durch folgenden :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, Range("A1:A305")) Is Nothing Then
If Intersect(Target, Range("G1:G305")) Is Nothing Then Exit Sub
End If
If Left(Target.Address, 2) = "$A" And Target.Value = 1 Then
Target.Offset(0, 5).Select
ElseIf Left(Target.Address, 2) = "$G" And Target.Value = 1 Then
Target.Offset(0, 4).Select
End If
10
End Sub

Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.
AW: Zellen automatisch überspringen
28.06.2006 14:15:56
Jule
Nochmal ich ...
hoffe ich gehe nicht schon auf die Nerven (;->
Ich glaub ich bin echt zu dusselig...
habe den Code von dir ( mit meinen tatsächlich benötigten Zellen "versucht" zu erweitern.
Jetzt will er nicht mehr so wie ich *grummel*
kannst du den Fehler entdecken?
Ich danke dir mehr als 1000 mal ...
Lg Jule

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, Range("G6:G305")) Is Nothing Then
If Intersect(Target, Range("R6:R305")) Is Nothing Then
If Intersect(Target, Range("Z6:Z305")) Is Nothing Then
If Intersect(Target, Range("AO6:AO305")) Is Nothing Then
If Intersect(Target, Range("BB6:BB305")) Is Nothing Then
If Intersect(Target, Range("BJ6:BJ305")) Is Nothing Then
If Intersect(Target, Range("BU6:BU305")) Is Nothing Then
If Intersect(Target, Range("CF6:CF305")) Is Nothing Then
If Intersect(Target, Range("CQ6:CQ305")) Is Nothing Then
If Intersect(Target, Range("DH6:DH305")) Is Nothing Then Exit Sub
End If
If Left(Target.Address, 2) = "$G" And Target.Value = 1 Then
Target.Offset(0, 66).Select
ElseIf Left(Target.Address, 2) = "$R" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 2) = "$Z" And Target.Value = 1 Then
Target.Offset(0, 15).Select
ElseIf Left(Target.Address, 2) = "$AO" And Target.Value = 1 Then
Target.Offset(0, 13).Select
ElseIf Left(Target.Address, 2) = "$BB" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 2) = "$BJ" And Target.Value = 1 Then
Target.Offset(0, 10).Select
ElseIf Left(Target.Address, 2) = "$BU" And Target.Value = 1 Then
Target.Offset(0, 54).Select
ElseIf Left(Target.Address, 2) = "$CF" And Target.Value = 1 Then
Target.Offset(0, 11).Select
ElseIf Left(Target.Address, 2) = "$CQ" And Target.Value = 1 Then
Target.Offset(0, 17).Select
ElseIf Left(Target.Address, 2) = "$DH" And Target.Value = 1 Then
Target.Offset(0, 15).Select
End If
10
End Sub

Anzeige
AW: Zellen automatisch überspringen
29.06.2006 06:56:42
Mustafa
Hallo Jule,
du warst schon nahe dran, bis auf 2 kleine Fehler.
1. entweder wird eine If Anweisung in der gleichen Zeile beendet oder mann muss sie mit einer zusätzlichen End If Zeile abschliessen.
If Intersect(Target, Range("G6:G305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("R6:R305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("Z6:Z305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("AO6:AO305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BB6:BB305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BJ6:BJ305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BU6:BU305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("CF6:CF305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("CQ6:CQ305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("DH6:DH305")) Is Nothing Then Exit Sub
2. Die Anweisung Left(Target.Address,2) gibt die ersten 2 Zeichen von links zurück.
aber ab Spalte AA musst du die ersten 3 Zeichen von links wissen da Excel bei Target.Address ein $-Zeichen voransetzt.
If Left(Target.Address, 2) = "$G" And Target.Value = 1 Then
Target.Offset(0, 66).Select
ElseIf Left(Target.Address, 2) = "$R" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 2) = "$Z" And Target.Value = 1 Then
Target.Offset(0, 15).Select
ElseIf Left(Target.Address, 3) = "$AO" And Target.Value = 1 Then
Target.Offset(0, 13).Select
ElseIf Left(Target.Address, 3) = "$BB" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 3) = "$BJ" And Target.Value = 1 Then
Target.Offset(0, 10).Select
ElseIf Left(Target.Address, 3) = "$BU" And Target.Value = 1 Then
Target.Offset(0, 54).Select
ElseIf Left(Target.Address, 3) = "$CF" And Target.Value = 1 Then
Target.Offset(0, 11).Select
ElseIf Left(Target.Address, 3) = "$CQ" And Target.Value = 1 Then
Target.Offset(0, 17).Select
ElseIf Left(Target.Address, 3) = "$DH" And Target.Value = 1 Then
Target.Offset(0, 15).Select
End If
Der komplette Code müsste dann so aussehen:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, Range("G6:G305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("R6:R305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("Z6:Z305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("AO6:AO305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BB6:BB305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BJ6:BJ305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BU6:BU305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("CF6:CF305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("CQ6:CQ305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("DH6:DH305")) Is Nothing Then Exit Sub
If Left(Target.Address, 2) = "$G" And Target.Value = 1 Then
Target.Offset(0, 66).Select
ElseIf Left(Target.Address, 2) = "$R" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 2) = "$Z" And Target.Value = 1 Then
Target.Offset(0, 15).Select
ElseIf Left(Target.Address, 3) = "$AO" And Target.Value = 1 Then
Target.Offset(0, 13).Select
ElseIf Left(Target.Address, 3) = "$BB" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 3) = "$BJ" And Target.Value = 1 Then
Target.Offset(0, 10).Select
ElseIf Left(Target.Address, 3) = "$BU" And Target.Value = 1 Then
Target.Offset(0, 54).Select
ElseIf Left(Target.Address, 3) = "$CF" And Target.Value = 1 Then
Target.Offset(0, 11).Select
ElseIf Left(Target.Address, 3) = "$CQ" And Target.Value = 1 Then
Target.Offset(0, 17).Select
ElseIf Left(Target.Address, 3) = "$DH" And Target.Value = 1 Then
Target.Offset(0, 15).Select
End If
10
End Sub

Wie ich sehe hast du ja den Offset richtig gemacht.
Rückmeldung obs hilft wäre nett.
Viele Grüße aus Köln.
Anzeige
AW: Zellen automatisch überspringen
29.06.2006 09:52:29
Jule
Guten Morgen nach dem Hilfsbereiten Köln!
Habe deinen Code kopiert, aber es klappt nicht ...
Du hast geschrieben:
2. Die Anweisung Left(Target.Address,2) gibt die ersten 2 Zeichen von links zurück.
aber ab Spalte AA musst du die ersten 3 Zeichen von links wissen...
du meinst statt $G = 2 Zeichen ... $AO = 3 Zeichen - oder?
Du hast geschrieben: ...da Excel bei Target.Address ein $-Zeichen voransetzt.
Macht Excel das $-Zeichen im Code automatisch? hast du mein Offset einfach kopiert? Habe nämlich das $-Zeichen manuell geschrieben.
Kann es daran liegen?
Fragen über Fragen...
LG Jule
Anzeige
AW: Zellen automatisch überspringen
29.06.2006 10:19:46
Mustafa
Hallo Jule,
Sorry war mein Fehler.
Und zwar führt die Anweisung :
If Intersect(Target, Range("G6:G305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("R6:R305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("Z6:Z305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("AO6:AO305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BB6:BB305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BJ6:BJ305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("BU6:BU305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("CF6:CF305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("CQ6:CQ305")) Is Nothing Then Exit Sub
If Intersect(Target, Range("DH6:DH305")) Is Nothing Then Exit Sub
dazu das der Code abgebrochen wird.
Diese Anweisungen müssen untereinander gestaffelt werden.
So müsste es Funktionieren:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo 10
If Intersect(Target, Range("G6:G305")) Is Nothing Then
If Intersect(Target, Range("R6:R305")) Is Nothing Then
If Intersect(Target, Range("Z6:Z305")) Is Nothing Then
If Intersect(Target, Range("AO6:AO305")) Is Nothing Then
If Intersect(Target, Range("BB6:BB305")) Is Nothing Then
If Intersect(Target, Range("BJ6:BJ305")) Is Nothing Then
If Intersect(Target, Range("BU6:BU305")) Is Nothing Then
If Intersect(Target, Range("CF6:CF305")) Is Nothing Then
If Intersect(Target, Range("CQ6:CQ305")) Is Nothing Then
If Intersect(Target, Range("DH6:DH305")) Is Nothing Then Exit Sub
End If
End If
End If
End If
End If
End If
End If
End If
End If
If Left(Target.Address, 2) = "$G" And Target.Value = 1 Then
Target.Offset(0, 66).Select
ElseIf Left(Target.Address, 2) = "$R" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 2) = "$Z" And Target.Value = 1 Then
Target.Offset(0, 15).Select
ElseIf Left(Target.Address, 3) = "$AO" And Target.Value = 1 Then
Target.Offset(0, 13).Select
ElseIf Left(Target.Address, 3) = "$BB" And Target.Value = 1 Then
Target.Offset(0, 8).Select
ElseIf Left(Target.Address, 3) = "$BJ" And Target.Value = 1 Then
Target.Offset(0, 10).Select
ElseIf Left(Target.Address, 3) = "$BU" And Target.Value = 1 Then
Target.Offset(0, 54).Select
ElseIf Left(Target.Address, 3) = "$CF" And Target.Value = 1 Then
Target.Offset(0, 11).Select
ElseIf Left(Target.Address, 3) = "$CQ" And Target.Value = 1 Then
Target.Offset(0, 17).Select
ElseIf Left(Target.Address, 3) = "$DH" And Target.Value = 1 Then
Target.Offset(0, 15).Select
End If
10
End Sub

Rückmeldung ist gern gesehn.
Viele Grüße aus dem heute warmen Köln.
Anzeige
AW: Zellen automatisch überspringen
29.06.2006 11:55:11
Jule
Hallo!
alles funktioniert!
Habe sogar eine weitere Excel Tabelle
mit dem Code bestückt und selbständig angepasst...
und ein Wunder, da klappts auch!
Echt nochmal 1000 Dank - was hätt ich nur ohne dich gemacht!
Verstehe nur nicht wie man sich mit diese ganzen VB-Funktionen
so gut auskennen kann wie du!
Für mich ist das alles eher "chinesisch"
Also dann besten Dank and a happy day!
GLG Jule
Freut mich das ich dir helfen konnte
29.06.2006 12:42:16
Mustafa
Hallo Jule,
auch ich bin nicht so gewandt in VBA wie manch anderer hier, aber ich gebe mein bestes um dies zu ändern.
Nicht alle meine Versuche enden so das der Fragensteller zufrieden ist.
Mein Motto lautet :
Niemals aufgeben.
Viele Grüße aus Köln.
Anzeige
owned :D oT
28.06.2006 12:57:14
Jan
Stimmt ja...hab ganz vergessen dass die immer durchläuft.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige