Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
408to412
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
408to412
408to412
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Knacknuss für Experten

Knacknuss für Experten
Michel
Hallo zusammen,
In jede Zelle bis Zeile ca. 30'000 und Spalte ca. bis "AZ" müssen Zahlen wie folgt eingefügt werden: Alle Spalten mit einer Zahl (z.B. 5), jedoch Spalte "K" mit 2 Zahlen (z.B. 55), und Spalte "AC" mit 3 Zahlen (z.B. 555).
Das Problem: die Eingabe der Zahlen sollte ohne Enterschlag erfolgen und auf die nächstfolgende Spalte springen. Excel sollte merken, dass die Ziffer von Z.B. 5, oder 55, oder 555 erreicht ist und automatisch auf die nächste Spalte springen.
Besten Dank für Ihre Hilfe.
Mit freundlichen Grüssen
Michel

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Knacknuss für Experten
Hajo_Zi
Hallo Michel
bei der Eingabe in der Zelle wird kein Aktion ausgelöst, damit kannst Du nicht nach z.B. 3 Zahlen in die nächste Zelle springen.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro SP 3


AW: Knacknuss für Experten
Michel
Hallo Hajo,
besten Dank für Deine schnelle Rückantwort.
Ich dachte es wäre möglich mit VBA eine Aktion auszulösen.
Schoenes Wochenend
Michel

AW: Wo ist das Problem?
Nepumuk
Hallo Michel,
so ganz hat Hajo nicht Recht. Ich habe dir mal ein Beispiel für die Spalte B gemacht. Wenn du 555 eingibst, springt der Cursor automatisch nach rechts. Er könnte aber auch in jede andere Zelle platziert werden.
https://www.herber.de/bbs/user/4917.xls
Gruß
Nepumuk
Anzeige
AW: Wo ist das Problem?
Hajo_Zi
Hallo Nepumuk
ich habe in Spalte B 555 eingegeben aber der Cursor ist nicht in die nächste Spalte gesprungen. Was mache ich falsch?
Ich habe kein Enter gedrückt das es ja während der Eingabe passieren sollte das springen.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro SP 3


AW: Wo ist das Problem?
Nepumuk
Hallo Hajo,
der Sch.... OnKey funktioniert nicht mit den Tasten auf dem Zehnerblock. Das ist ein Problem.
Gruß
Nepumuk
Anzeige
AW: Wo ist das Problem?
Hajo_Zi
Hallo Nepumuk
das ist mir gerade auch aufgefallen.
Danke für die Information.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro SP 3


AW: Wo ist das Problem?
Michel
Besten Dank an alle,
vielleicht habe ich mich falsch ausgedrückt, bitte um Entschuldigung. Die angegebenen Zahlen(5, 55, 555) waren nur als Beispiel gedacht es kann auch 2, 99 oder 189 sein. Wichtig ist, dass beim Eintragen einer Zahl z.B. 79 in der Spalte "K" der Kursor auf Spalte "L" springen muss ohne enter zu drucken. Ich kann mir vorstellen, dass dies event. möglich ist mit "Gültigkeit", Eingabebegrenzung 10-99 (2 Ziffer) für Spalte "K", 100-999 (3 Ziffer) für Spalte "AC" und alle andere Spalten 0-9 (1 Ziffer), wie Hajo erklärte, dass eine Aktion ausgelöst werden müsste, aber wie? Mit VBA nicht möglich?
Noch Mal besten Dank für Eure Hilfe.
Gruss
Michel
Anzeige
AW: Wo ist das Problem?
Hajo_Zi
Hallo Michel
"Gültigkeit" wird erst bei Enter überprüft.
Ist es jetzt die ganze Aufgabe? Geht es nur um die Zahlen 2; 5; 8 und 9 oder alle Zahlen? oder alle Buchstaben?
Wann nun 1; 2 oder 3 Zeichen?
Da Mußt Du warten bis Nepumuk im Forum ist, aber ich glaube er hätte die gleichen Fragen.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Pro und Excel Version XP Pro SP 3


AW: Wo ist das Problem?
Michel
Hallo Hajo und Nepumuk,
Bei allen Spalten darf nur eine Zahl (z.B. die einstellige Zahl 1) eingegeben werden mit Ausnahme von Spalte "K", wo zwei Zahlen (z.B. die zweistellige Zahl 32) und Spalte "AC" wo drei Zahlen (z.B. dei dreistellige Zahl 426) eingegeben werden sollen, und das immer, also nie Buchstaben. Es sollen alle Zahlen vorkommen in der Tabelle: von 1 bis 999.
Die Tabelle dient dazu, eine Auswertung zu machen. Zum besseren Verständnis ein Beispiel:
eine Familie hat bis 9 Kinder (Spalte A = 1)
Eine Familie hat bis 10 Zimmer (Spalte K = 10)
Eine Familie bezahlt Miete von 999 Euro (Spalte AC = 999) usw.
Damit all diese Zahlen, die eingegeben werden müssen effizient eingegeben werden können, hoffe ich, dass der Cursor nach dem Eingeben ohne Enterschlag auf die nächste Spalte springt. Wie du jedoch gesagt hast, ist es nicht möglich, ohne enter weiterzuspringen. Aber genau da liegt das "Problem". Ich möchte all diese Zahlen eingeben (x-tausende)ohne Enterschlag. Falls dies tatsächlich nicht machbar ist, so breche ich die Aktion ab und bedanke mich bereits jetzt schon im voraus und wünsche einen schönen Sonntag.
Gruss
Michel
Anzeige
AW: machbar ist fast alles!!!
Nepumuk
Hallo Michel,
folgende Methode ist aber nicht 100% sicher:


Option Explicit
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As LongAs Integer
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Einfach das Programm starten und dann in die Tabelle eingeben. Das Programm reagiert nur auf Ziffern.
Gruß
Nepumuk
Anzeige
AW: machbar ist fast alles!!!
04.04.2004 13:15:26
Michel
Hallo Nepumuk,
Hut ab, es funktioniert!
Besten Dank für die Bemühung
Mit freundlichen Grüssen
Michel
AW: Knacknuss für Experten
Bert
Mach die Eingaben nicht dierekt in die Zellen sondern mithilfe eines
userforms z.B.
Bert
AW: Knacknuss für Experten
03.04.2004 17:15:07
GraFri
Hallo
Ohne ENTER geht's aber nicht:


Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim dB  As Worksheet
Dim B   As Single
'Wenn Spalte>AZ dann abbruch
If Target.Column > 52 Then Exit Sub
Set dB = Worksheets("Tabelle1")
On Error GoTo Fehler
Application.EnableEvents = False
Select Case Target.Column
'Spalte K
Case 11
    If IsNumeric(dB.Range(Target.Address).Value) Then       'Abfrage, ob Zahl
        If dB.Range(Target.Address).Value = 55 Then
            dB.Range(Target.Address).Offset(0, 1).Select    'Sprung 1 Zellen nach rechts
        End If
    End If
'Spalte AC
Case 29
    If IsNumeric(dB.Range(Target.Address).Value) Then       'Abfrage, ob Zahl
        If dB.Range(Target.Address).Value = 555 Then
            dB.Range(Target.Address).Offset(0, 1).Select    'Sprung 1 Zellen nach rechts
        End If
    End If
Case Else
    If IsNumeric(dB.Range(Target.Address).Value) Then       'Abfrage, ob Zahl
        If dB.Range(Target.Address).Value = 5 Then
            dB.Range(Target.Address).Offset(0, 1).Select    'Sprung 1 Zellen nach rechts
        End If
    End If
End Select
Application.EnableEvents = True
Exit Sub
mfg, GraFri
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige