Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1932to1936
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

Zelleingabe nur Nummer eingeben

Zelleingabe nur Nummer eingeben
25.06.2023 16:33:43
wolfgang

Guten Tag, einen sonnigen schönen Sonntag,
ich habe eine Frage:
Wenn ich in Zelle J33 = B40 eingebe,
wird B40 dargestellt.
Dim akz
akz = ActiveSheet.Range("J33").Value
Range(akz).Paste

Ich möchte gern nur die Zell-Nummer eingeben also die "40",
dann soll in der Zelle B40 dargestellt werden.

Geht das ?

gruß wolfgang

31
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleingabe nur Nummer eingeben
25.06.2023 17:34:40
RPP63
Moin!
=INDEX(B;B;J33)
Gruß Ralf


AW: Zelleingabe nur Nummer eingeben
25.06.2023 17:35:20
RPP63
Natürlich
=INDEX(B:B;J33)


AW: Zelleingabe nur Nummer eingeben
25.06.2023 17:58:39
Rudi Maintaire
Hallo,
als VBA-Lösung:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$J$33" Then
    On Error GoTo ERREXIT
    Application.EnableEvents = False
    Target.FormulaLocal = "=B" & Target
'    oder
'    Target = Cells(Target, 2)
'    oder
'    Cells(Target, 2).Copy Target
  End If
ERREXIT:
  Application.EnableEvents = True
End Sub
Such dir was aus.

Gruß
Rudi


Anzeige
Ja, VBA war gewünscht
25.06.2023 18:05:09
RPP63
Hallo Rudi!
Ja, ich hatte durchaus gelesen, dass VBA gewünscht war.
Aber welchen Sinn soll es denn haben, nach Eingabe von 42 in der gleichen Zelle sofort den Inhalt von B42 angezeigt zu bekommen?
Da gibt es doch keine Chance auf Rückschlüsse.
Meinethalben könnte man mit Target.Offset(0, 1) arbeiten.
Aber dann macht doch eher meine INDEX()-Formel Sinn, so ganz VBA-frei?

Gruß Ralf


VBA, wäre gut
25.06.2023 18:57:29
Wolfgang
Hallo zusammen,
erst mal an ALLE Danke für die Unterstützung !
Ich habe mir mal ein Makro zusammengebastelt.
Sub Text_ausZelle_aufteilen()
Dim x
x = Split(Range("K33").Value, vbLf)
Dim akz
akz = ActiveSheet.Range("J33").Value
Range(akz).Paste
End Sub
In J33 sollte man nur die Zell-Nummer eingeben: z.B. 27 und es sollte dann in J33 dann B27 stehen.

gr wolfgang


Anzeige
AW: VBA, wäre gut
25.06.2023 19:03:13
onur
Und wozu das Ganze?


Und nun?
25.06.2023 19:05:33
RPP63
Was soll die Variable x, wenn sie zwar gefüllt, aber nicht genutzt wird?
Abseits dessen:
Es gibt keine Range.Paste-Methode, aber eine (hier unsinnige) Worksheet.Paste-Methode!
Ehrlich:
Du hast funktionierende Methoden mit VBA und Formel.
Deshalb bin ich hier raus und werde Deine falschen Basteleien nicht weiter verfolgen.


AW: Und nun? …
25.06.2023 19:21:54
wolfgang
Ok, wenn nicht möglich lasse ich es so und gebe halt Buchstabe und Ziffer
für gewünschte Zelle ein.

Gr wolfgang


AW: Und nun? …
25.06.2023 19:48:03
onur
Warum noch offen?


AW: Und nun? … --))
25.06.2023 20:05:51
Wolfgang


Anzeige
AW: Und nun? … --))
25.06.2023 20:04:58
Wolfgang


dieses Format
25.06.2023 19:02:45
Wolfgang
Hallozusammen,
ich habe in J33 dieses Format:
"einsetzen in >" @
ich gebe aktuell noch b27 ein, würde aber gern nur die 27 eingeben müssen.

gr wolfgang


AW: Zelleingabe nur Nummer eingeben
25.06.2023 22:38:48
Piet
Hallo

ich habe zwei simple Lösungen im Angebot. Eine über Target, und eine über Zellformat.
Wenn in der Zelle nur eine Zahl stehen soll, mit der man rechnen kann, dann über Zellfomat: - "B"0
Sonst über ein Target Makro in der gewünschten Tabelle. Ist das eine simple Lösung???

mfg Piet

  • Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address > "$J$33" Then Exit Sub
    If Target.Value = Empty Then Exit Sub
    
    If IsNumeric(Target) Then Target = "B" & Target
    End Sub



  • Anzeige
    Piet sehr gut...
    26.06.2023 13:29:01
    Wolfgang
    Hallo Piet,
    toll das Du nicht aufgibst !
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address > "$J$33" Then Exit Sub
    If Target.Value = Empty Then Exit Sub
    
    If IsNumeric(Target) Then Target = "B" & Target
    End Sub
    klappt einwandfrei !
    Ich brauch dies für diese Zellen: J33, J36, J39 und J42

    gr wolfgang


    Nochmals danke an ALLE ! -)
    26.06.2023 18:02:37
    Wolfgang


    Hallo Piet: If Target.adress("J33", "J36") Then Ex
    26.06.2023 18:20:13
    Wolfgang
    Hallo Piet,
    das klappt so : If Target.adress("J33", "J36") Then Exit Sub
    nicht !

    gr wolfgang


    AW: Hallo Piet: If Target.adress("J33", "J36") Then Ex
    26.06.2023 18:23:09
    onur
    Wie kommst du darauf, das könnte klappen? Hat doch auch niemand behauptet.


    Anzeige
    Danke für den Hinweis Onur
    26.06.2023 18:28:41
    Wolfgang
    Danke Onur und wie
    klappt es ?

    gr wolfgang


    AW: Danke für den Hinweis Onur
    26.06.2023 18:31:56
    onur
    Ach was? Jetzt auf einmal antwortest du mir ???


    AW: Zelleingabe nur Nummer eingeben
    26.06.2023 10:48:10
    GerdL
    Nun denn
    Private Sub Worksheet_Change(ByVal Target As Range)
    
        On Error Resume Next
        
        With Target
            If .Address = "$J$33" Then
                Application.EnableEvents = False
                .Offset(0, 1) = Cells(.Value, 2)
                Application.EnableEvents = True
            End If
        End With
        
        On Error GoTo 0
    
    End Sub
    Gruß Gerd


    Anzeige
    Das klappt leider nicht, trotzdem Danke !
    26.06.2023 13:35:26
    Wolfgang


    AW: Das klappt leider nicht, trotzdem Danke !
    26.06.2023 14:51:11
    snb
    Die Fragen hier werden immer mehr rätselhaft.


    AW: Das klappt leider nicht, trotzdem Danke !
    26.06.2023 15:04:01
    onur
    Und die Fragensteller erst....


    AW: Das klappt leider nicht, trotzdem Danke !
    26.06.2023 15:26:14
    snb
    Darum wage ich es nicht hier etwas zu fragen. ;);)


    AW: Rätselhafte Intelligenz der Kollegen
    27.06.2023 02:40:12
    Piet
    Hallo an alle Rätsel Profis ... ??

    die von Wolfgang gewünschte Aufgabenstellung ist doch in dieser AW eindeutig beschrieben. Was ist daran so rätselhaft??
    Hallo Piet: If Target.adress("J33", "J36") Then Ex -
    Wer lesen kann und seinen Text gelesen hat begreift doch was er will, oder bin ich ein -PSI Ausnahme Mensch- im Forum??

    Für Wolfgang, zum VBA lernen. Habe ich nur eine Adresse benutze ich gerne Target.Address > "xxx" und dahinter Exit Sub.
    Bei zusammenhängender Adresse nimmt man üblicherweise den Befehl Intersect mit Range(Bereich) zum Auswerten.
    Bei Einzelzellen lade ich die Target.Adresse in eine Variable und dahinter IF Then mit Adr1 Or Adr2 Or Adr3 (s. unten)

    Welche Variante man benutzt ist letztendlich egal, Hauptsache die Auswertung funktioniert.
    Wenn du meine Gedanken verstanden hast kannst du den Code auch selbst auf weitere Adressen umschreiben.

    mfg Piet

  • Dim Adr As String

    Private Sub Worksheet_Change(ByVal Target As Range)
    Adr = Target.Address(0, 0)  ' J33, J36, J39 und J42
    If Adr = "J33" Or Adr = "J36" Or Adr = "J39" Or Adr = "J42" Then
       If Target.Value = Empty Then Exit Sub
       If IsNumeric(Target) Then Target = "B" & Target
    End If
    End Sub



  • Anzeige
    AW: Rätselhafte Intelligenz der Kollegen
    27.06.2023 02:54:15
    onur
    Du musst dich nicht gleich für Einstein halten, es ging - wenn du alles richtig gelesen und verstanden hättest, wüsstest du es - niemals um das Verstehen der Aufgabenstellung, sondern nur um den Sinn und Zweck des Ganzen !
    Ich z.B. habe sogar mehrmals gefragt, wozu das Ganze überhaupt gut sein soll, erhielt aber bis dato keine Antwort.


    Danke Piet und auch die anderen ---)))
    27.06.2023 09:10:41
    Wolfgang
    Guten Morgen,
    danke Piet, für die sachliche Beschreibung meiner Aufgabenstellung.

    2. Der Grund, meine Kollegen können nicht mal eine neue Tabelle anlegen,
    deshalb sollte die eine EINGABE nur der Zellwert als Ziffer eingegeben werden
    also anstatt B30 soll 30 eingegeben werden !!!
    Spalte war immer gleich !

    Trotzdem danke auch an alle anderen für die Unterstützung und Beispiele.

    gruß wolfgang


    Anzeige
    Onur Sinn und Zweck nochmal Erklärung !
    27.06.2023 09:46:01
    Wolfgang
    Guten Morgen Onur,
    hier nochmals meine Erklärung, warum das Ganze.

    Der Grund,
    meine Kollegen können nicht mal eine neue Tabelle anlegen,
    deshalb sollte die eine EINGABE nur der Zellwert als Ziffer eingegeben werden
    also anstatt B30 soll 30 eingegeben werden !!!
    Spalte war immer gleich !

    gruß wolfgang


    AW: Entschuldigung an die Kollegen
    27.06.2023 14:41:53
    Piet
    Hallo an alle Kollegen

    sollte ich euch geärgert haben entschuldige ich mich in aller Form bei euch dafür. Das war nicht meine Absicht!
    Und Einstein bin ich ganz sicher nicht, besitze aber vielleicht einen wichtigen Vorteil zu den Kollegen.

    2 1/2 Jahre arbeitete ich mit Behinderten, wo 170 Personen soo schwach waren, das sie nicht mal bis 10 zählen konnten!!
    Und sie erzählten manchmal derart ein Kauderwelch, das man dreimal nachfragen musste was sie einem erzählen wollten.

    Im Forum habe ich mir schon lange abgewöhnt einen TE zu fragen wozu seine Aufgabenstellung gut sein soll.
    Der wird schon seine Gründe haben. Und das muss mit der optimalen technischen Excel Praxis NICHT konform sein!

    mfg Piet


    Anzeige
    AW: Entschuldigung an die Kollegen
    27.06.2023 15:30:53
    onur
    "Der wird schon seine Gründe haben" mag ja sein. Aber ich habe die Erfahrung gemacht, dass sehr viele Leute, die ein Excelproblem haben, auch glauben, wie sie es lösen könnten, wenn sie genug Excel- bzw VBA-Kenntnisse hätten.
    Wenn man aber die Hintergründe (das Warum) hinterfragt, erkennt man oft, dass das völlig überflüssig oder viel zu kompliziert gedacht ist und dass ein anderer Lösungsweg das Problem gar nicht erst entstehen lässt bzw spielend lösbar macht. Sehr oft ist auch das Problem durch das hirnrissige Konzept des Blattes selbstproduziert.
    Ähnlich wie wenn ein Patient zum Arzt geht und von ihm Medikamente gegen sein Sodbrennen verlangt, der Arzt aber ihn untersucht und ihm eine Diät verpasst und Medikamente gegen sein Magengeschwür gibt, statt nur die Symptome zu bekämpfen.


    Genau, Onur!
    28.06.2023 13:33:20
    Luc:-?
    Das lernt auch jeder Xl-Coach bei seiner Ausbildung zu einem solchen. ;-)
    Gruß, Luc :-?

    300 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige