Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

Im Bereich letzte freie Zelle wählen

Im Bereich letzte freie Zelle wählen
11.05.2020 09:04:31
Dieter(Drummer)
Guten Morgen an alle im Forum.
Per Inputbox wird in einer Spalte ein Zellbereich (Zahlen und Text) gewählt. Das funktioniert.
Nun soll in diesem Bereich die letzte frei Zelle gewählt werden. Da gehts nicht.
Es wird ein Fehler gezeigt und diese Zeile wird gelb markiert:
Fehler: Laufzeitfehler 450, Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft.
Markierte Zeile:
  • ActiveSheet.Cells.Range.Rows.Count.End(xlUp).Offset(1).Select

  • Mit der Bitte um Hilfe,
    grüßt, Dieter(Drummer)
    Bisheriger Code:
  • Sub Bereich() 'Letzte freie Zelle im Bereich Dim r As Range Set r = Application.InputBox(Prompt:="Bitte Bereich wählen!", Type:=8) ActiveSheet.Cells.Range.Rows.Count.End(xlUp).Offset(1).Select End Sub

  • 34
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Im Bereich letzte freie Zelle wählen
    11.05.2020 09:16:28
    Nepumuk
    Hallo Dieter,
    so?
    Sub Bereich() 'Letzte freie Zelle im Bereich
        Dim r As Range
        Set r = Application.InputBox(Prompt:="Bitte Bereich wählen!", Type:=8)
        Cells(Rows.Count, r.Column).End(xlUp).Offset(1).Select
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Danke Nepumuk, einfach perfekt ...
    11.05.2020 09:22:28
    Dieter(Drummer)
    ... und vielen Dank für die promte Lösung.
    Noch einen erfreulichen Tag an alle.
    Gruß, Dieter(Drummer)
    dann war aber Deine Frage falsch formuliert!
    11.05.2020 10:03:03
    Matthias
    Hallo
    Nun soll in diesem Bereich die letzte freie Zelle gewählt werden.
    Wenn Du z.B diesen Bereich markierst
    Tabelle1

     H
    24x
    25x
    26x
    27x
    28 
    29x
    30x
    31x
    32x


    Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
    sollte lt. Deiner Anfrage H28 markiert werden. Das passiert aber nicht.
    Folglich ist Deine Frage falsch formuliert.
    Gruß Matthias
    Anzeige
    AW: dann war aber Deine Frage falsch formuliert!
    11.05.2020 10:14:46
    Dieter(Drummer)
    Hallo Matthias,
    da gebe ich Dir Recht. Da hätte ich wohl anmerken müssen, dass die unterste, letzte freie Zelle,
    gewählt werden soll, was ja mit der Lösung von Nepumuk, auch so, wie gewünscht ist.
    Werde mich bemühen, Fragen genauer zu definieren.
    Gruß, Dieter(Drummer)
    AW: So falsch war meine Frage nicht
    11.05.2020 10:40:55
    Dieter(Drummer)
    Hallo Matthias,
    ich hatte nach "... letzter freier Zelle" gefragt und gesucht und nicht nach erster freien Zelle.
    Gruß, Dieter(Drummer)
    dann hast Du mein Bsp. nicht verstanden
    11.05.2020 10:58:30
    Matthias
    Zitat
    Per Inputbox wird in einer Spalte ein Zellbereich (Zahlen und Text) gewählt. Das funktioniert.
    Nun soll in diesem Bereichdie letzte frei Zelle gewählt werden.

    in diesem Bereich!!
    H28 ist im Bsp die einzige leere Zelle
    Wenn Du diese Zelle nicht markieren willst, brauchst Du doch auch keinen Bereich markieren.
    Gruß Matthias
    Anzeige
    AW: dann hast Du mein Bsp. nicht verstanden
    11.05.2020 11:35:18
    Dieter(Drummer)
    Hallo Matthias,
    ich gebe dir teilweise Recht und ich denke, dass man da nicht weiter hin und her schreiben muss.
    Mir war wichtig, dass ich einen freien Bereich wählen kann und das dann, die am Ende freie Zelle, also nach der letzten belegten Zelle, gewählt wird. Das funktioniert und Nepumuk hat die von mir gewünschte Variante erstellt.
    Gruß und einen erfreulichen Tag,
    Dieter(Drummer)
    schade das Du immer nocht nichts lernen willst ...
    12.05.2020 05:54:07
    Matthias
    Hallo Dieter
    Nepumuk wollte Dir nur den Fehler korrigieren (Deinen Laufzeitfehler).
    Ich glaube nicht das Nepumuk das durchgetestet hat. Warum auch?
    Dir ging es ja nur um die Zeile mit dem Laufzeitfehler.
    Deine Inputbox ist total sinnfrei, also überflüssig.
    Nochmal zur Sache! Ein Einzeiler reicht vollkommen aus und markiert die selbe Zelle
    nur das Du eine Zelle in der gewünschte Spalte vorher markieren musst.
    Das machst Du ja mit Deiner InputBox auch.
    Nur,
    so wie Du es jetzt benutzt kommt ein VBA-Fehler wenn Du auf "abbrechen" klickst.
    Also musst Du noch abfragen ob r = Nothing ist.


    Zitat
    ich denke, dass man da nicht weiter hin und her schreiben muss.
    Das sagt mir allerdings auch das Du nicht lernwillig bist :(
    Ich hatte für Dich auch eine Lösung erstellt, nach Deinen Vorgaben:
    Nun soll in diesem Bereich die letzte freie Zelle gewählt werden.
    Ich glaube nicht das ich nochmal Zeit investiere, da Dich das ja sowieso nicht interessiert.
    Tja, mal wieder für den Papierkorb gearbeitet. So macht Helfen auch keinen Spaß mehr.
    Gruß Matthias
    Anzeige
    AW: Da täuscht Du dich, Matthias ....
    12.05.2020 09:04:55
    Dieter(Drummmer)
    ... natürlich möchte ich auch dazu lernen, aber es ist nicht immer so einfach!
    Du hast Recht: "Nur, so wie Du es jetzt benutzt kommt ein VBA-Fehler wenn Du auf "abbrechen" klickst.
    Also musst Du noch abfragen ob r = Nothing ist." Wie ich das mache, habe ich derzeit keine Vorstellung.
    Ich muss es ausprobieren, wie ich das einbaue und Danke für Hinweis.
    Die Markierungen mit der Inputbox, interessierte mich einfach. Dass ich auch ohne Inputbox markieren kann, das ist mir auch klar.
    Dein Hinweis: "Ich glaube nicht das ich nochmal Zeit investiere, da Dich das ja sowieso nicht interessiert." ist nicht richtig, da es mich natürlich interessiert. Ich entschuldige mich, wenn ich dich verärgert habe, es war nicht mein Absicht!
    Gruß und einen erfreulichen Tag,
    Dieter(Drummer)
    Anzeige
    AW: Abbrechen zeigt Fehler
    12.05.2020 10:15:22
    Dieter(Drummer)
    Hallo Matthias,
    selbst auf das Risiko, dass Du mit nicht weiter helfen möchtest, was ich auch verstehe, dennoch eine Frage.
    Mit "
    
    If r = Noting Then Exit Sub
    
    " kommt bei der Hinweis: "Unzulässige Verwendung eines Objekts". Komme da nicht weiter ...
    Gruß, Dieter(Drummer)
    Hier mein jetziger Code:
    Sub Bereich() 'Letzte freie Zelle im Bereich
    Dim r As Range
    If r = Nothing Then Exit Sub
    End If
    Set r = Application.InputBox(Prompt:="Bitte einen Bereich oder eine Zelle in der" & vbLf & "entsprechenden Spalte auswählen." & vbLf & "So wird die am Ende letzte freie Zelle gezeigt!", Type:=8)
    Cells(Rows.Count, r.Column).End(xlUp).Offset(1).Select 'Herber: von Nepumuk am 11.05.2020 09:16:28
    End Sub
    Anzeige
    If r Is Nothing Then ... owT
    12.05.2020 11:09:40
    Matthias
    AW: If r Is Nothing Then, geht leider nicht
    12.05.2020 11:48:27
    Dieter(Drummer)
    Danke Matthias L,
    das hatte ich auch schon versucht und geht aber nicht, egal an welche Stelle im Code ich es setzte.
    Hier mein jetziger Code und es kommt Fehler: Laufzeitfehler 424, Objekt erforderlich und Zeile (fett) wird markiert. Anbei mal meine Musterdatei. Hast Du noch eine Idee?
    Gruß, Dieter(Drummer)
    Sub Bereich() 'Letzte freie Zelle im Bereich
    Dim r As Range
    Set r = Application.InputBox(Prompt:="Bitte einen Bereich oder eine Zelle in der" & vbLf & _
    "entsprechenden Spalte auswählen." & vbLf & "So wird die am Ende letzte freie Zelle gezeigt!", Type:=8)
    Cells(Rows.Count, r.Column).End(xlUp).Offset(1).Select 'Herber: von Nepumuk am 11.05.2020 09: _
    16:28
    If r Is Nothing Then
    Exit Sub
    End If
    End Sub
    

    https:\/\/www.herber.de/bbs/user/137455.xlsm
    Anzeige
    AW: If r Is Nothing Then, geht leider nicht
    12.05.2020 11:56:53
    Daniel
    HI
    dummerweise erzeugt das "set r = Application.Inputbox(…" einen Fehler, wenn man abbricht.
    daher muss diese Anweisung in On Error Resume Next ausgefüht werden.
    der nachfolgende Code enthält noch einen Denkfehler deinerseits:
    du musst natürlich zuerst prüfen, ob r Nothing ist. Diese Prüfung muss erfolgen, bevor du r anderweitig verwendest, das sollte irgendwie logisch sein.
    Und dass Code in der Reihenfolge ausgeführt wird, wie er von oben nach unten geschrieben ist, solltest auch du mittlerweile verstanden haben:
    Sub Bereich() 'Letzte freie Zelle im Bereich
    Dim r As Range
    On Error Resume Next
    Set r = Application.InputBox(..., Type:=8)
    On Error goto 0
    If r Is Nothing Then
    Exit Sub
    End If
    Cells(Rows.Count, r.Column).End(xlUp).Offset(1).Select
    End Sub
    

    Gruß Daniel
    Anzeige
    AW: If r Is Nothing Then, geht leider nicht
    12.05.2020 12:10:36
    Dieter(Drummer)
    Danke Daniel,
    habe es auch mit deinem Code jetzt probiert und der Fehler ist geblieben.
    Gruß, Dieter(Drummer)
    AW: If r Is Nothing Then, geht leider nicht
    12.05.2020 15:13:10
    Daniel
    also bei mir geht's ohne Fehler.
    hast du meinen Code jetzt einfach nur kopiert und eingefügt, oder ist dir aufgefallen, dass ich bei Inputbox den Code etwas gekürzt habe (…) und du hast das entsprechend wieder ergänzt?
    gruß Daniel
    AW: Geht bei mir leider noch nicht ...
    12.05.2020 15:54:02
    Dieter(Drummer)
    Danke Daniel für weitere Info und Geduld.
    Diesen Code von Code von dir habe ich jetzt koiert und eingefügt und die FETTE Zeile wird rot angezeigt und Code läuft nicht. Was mach ich falsch?:
    Gruß, Dieter(Drummer)
    
    Sub Bereich() 'Letzte freie Zelle im Bereich 'Daniel
    Dim r As Range
    On Error Resume Next
    Set r = Application.InputBox(..., Type:=8)
    On Error GoTo 0
    If r Is Nothing Then
    Exit Sub
    End If
    Cells(Rows.Count, r.Column).End(xlUp).Offset(1).Select
    End Sub
    

    Anzeige
    AW: Geht bei mir leider noch nicht ...
    12.05.2020 16:59:24
    Daniel
    Dieter, nimms bitte nicht persönlich, aber du brauchst echt nen persönlichen Betreuer oder such dir ein anderes Hobby.
    du bist doch jetzt schon lang genug dabei, dass du wissen solltest, dass rote Zeile bedeutet, dass du einen Schreibfehler gemacht hast.
    ist dir nicht aufgefallen, dass ich den Inhalt der Klammer bei der Inputbox einfach entwas abgekürzt habe? (du solltest doch wissen, wofür "..." steht, das hat jetzt mit Programmierung nichts zu tun)
    du musst halt die Zeile mit dem Application.Inputbox so hinschreiben, wie du sie vorher hattest, und den rest beachten.
    wenn du immer noch auf dem Niveau bist, dass du Codes aus dem Forum einfach nur kopierst und einfügst ohne darüber nachzudenken was der Anworter dir mitteilen wollte, dann ist VBA-Programmierung nicht dein Ding.
    Gruß Daniel
    AW: Daniel, ich hatte auch die Version ...
    12.05.2020 17:15:11
    Dieter(Drummer)
    ... natürlich von dir auch ergänzt und hatte vorhin diese Version mit Musterdatei dir gesendet.
    Ich nehme deine Mitteilung einfach mal so hin!
    Ich kann in meiner dir gesendeten Musterdatei nicht erkennen, was ich da mit deinem kopierten Code und meinen Ergänzungen falsch gemacht habe.
    Ich werde das Projekt einfach fallen lassen.
    Danke für deine Hilfe und Geduld ..
    Gruß, Dieter(Drummer)
    AW: Hallo Daniel, hier nur meine ...
    13.05.2020 09:14:46
    Dieter(Drummer)
    ... Meinung in meiner Sache.
    Wenn, wie Du schreibst, es bei dir geht, wäre es sehr interessant gewesen, diese funktionierende Datei zu sehen. Dann hätte ich mir auch manche Mitteilung sparen können und vor allen Dingen, keine persönlichen Anmerkungen zu meiner Person lesen müssen.
    Jeder, den meine Fragen auf irgendeine Weise stören, muss nicht antworten. Nicht jeder gehört zu den Spezialisten/innen und wird es wohl auch nicht werden, unabhängig, wie lange man sich schon mit VBA auseinander setzt. Mit fast 76 jahren ist es halt nicht so einfach ... aber dennoch interessant ...
    In dem Sinne, allen einen erfeulichen Tag und nur Fragende, die Antwortern/innen die Möglichkeit geben, die Frage mit einer erfolgreichen Lösung zu beenden.Ich habe Antworten in diesem Forum immer zu schätzen gewusst.
    Mit Gruß,
    Dieter(Drummer)
    Funktioniert doch ...
    13.05.2020 10:08:45
    Matthias
    Hallo Dieter,
    in Deiner Datei https:\/\/www.herber.de/bbs/user/137472.xlsm
    funktioniert das Abbrechen doch ohne Fehler.
    Das einzige was Du nun noch abfangen musst ist ist eine leere Box beim Klick auf Ok,
    denn es wird ein Zellbezug erwartet.
    Zitat:
    Ich habe Antworten in diesem Forum immer zu schätzen gewusst.
    Das solltest Du auch weiterhin tun.
    In dem Sinne, auch Dir einen erfeulichen Tag.
    Gruß Matthias
    AW: Funktioniert doch ... bei mir nicht
    13.05.2020 10:48:19
    Dieter(Drummer)
    Guten Morgen Matthias und Danke für deine Rückmeldung.
    Auf die Gefahr hin, dass ich nerve, die von dir gesendete Datei, erzeugt beim Klick auf Abbrechen, immer noch den Fehler: 424, Objekt erforderlich. Da muss es wohl an meinem Excel liegen.
    Gruß und weiterhin einen erfreulichen Tag.
    Dieter(Drummer)
    hier noch 2 Codes zum Testen ...
    13.05.2020 11:37:06
    Matthias
    Ok, dann probier nochmal diese beiden Varianten:
    
    Option Explicit
    Sub DieterDrummer3()
    Dim R As Range
    On Error Resume Next
    Application.DisplayAlerts = False
    Set R = Application.InputBox(prompt:="Bitte einen Bereich oder eine Zelle in der" & vbLf & " _
    entsprechenden Spalte auswählen." & vbLf & "So wird die am Ende letzte freie Zelle gezeigt!", Default:=Selection.Address, Type:=8)
    On Error GoTo 0
    If R Is Nothing Then
    Exit Sub
    End If
    Cells(Rows.Count, R.Column).End(xlUp).Offset(1).Select
    End Sub
    

    Sub DieterDrummer4()
    Dim R As Range
    On Error Resume Next
    Application.DisplayAlerts = False
    Set R = Application.InputBox(prompt:="Bitte einen Bereich oder eine Zelle in der" & vbLf & " _
    entsprechenden Spalte auswählen." & vbLf & "So wird die am Ende letzte freie Zelle gezeigt!", Default:=Selection.Address, Type:=8)
    If R Is Nothing Then Exit Sub
    MsgBox "der ausgewählte Bereich ist " & R.Address & vbLf & "Die gewünschte Zelle wird nun  _
    markiert"
    Cells(Rows.Count, R.Column).End(xlUp).Offset(1).Select
    End Sub
    
    Beide funktionieren bei mir
    Gruß Matthias
    AW: hier noch 2 Codes zum Testen ...
    13.05.2020 12:02:49
    Dieter(Drumner)
    Danke dir Matthias,
    für deine weitere Mühe. Leider funktionieren beide Varianten bei mir nicht. Es wird gleicher Fehler gezeigt. Es muss dann wohl an irgendwelchen Einstellungen meines Excel liegen. Ich nehme dann halt die ganz kurze Version.
    Dennoch Danke für deine Hilfe und
    Gruß, Dieter(Drummer)
    AW: Auch wenn ich bei deinen Kürzungen ...
    12.05.2020 16:53:20
    Dieter(Drummer)
    Hallo Daniel,
    ... meine Ergänzung dazu setze, funktioniert das Abbrechen nicht.
    Hier ist meine Musterdatei: https:\/\/www.herber.de/bbs/user/137472.xlsm
    Gruß, Dieter(Drummer)
    AW: Auch wenn ich bei deinen Kürzungen ...
    13.05.2020 10:58:41
    Daniel
    ich bekomme hier keinen Fehler beim Klicken auf abbrechen
    Funktioniert alles wie von dir gewünscht und ich kann auch keinen Fehler erkennen.
    Gruß Daniel
    AW: Danke für Rückmeldung, Daniel. Gruß, owT
    13.05.2020 11:19:10
    Dieter(Drummer)
    lass doch die Inputbox weg
    12.05.2020 12:01:09
    Matthias
    Hallo
    die Inputbox ist doch total überflüssig
    Option Explicit
    Sub Bereich()
    Cells(Rows.Count, ActiveCell.Column).End(xlUp).Offset(1).Select
    End Sub
    
    aber bitte, wenn Du es unbedingt willst:
    Option Explicit
    Sub Bereich()
    Dim r As Range
    On Error GoTo Fehler
    Set r = Application.InputBox(Prompt:="Bitte Bereich wählen!", Type:=8)
    Cells(Rows.Count, r.Column).End(xlUp).Offset(1).Select
    Exit Sub
    Fehler:
    If r Is Nothing Then MsgBox "es wurde evtl. abgebrochen"
    End Sub
    
    Gruß Matthias
    AW: lass doch die Inputbox weg
    12.05.2020 12:12:09
    Dieter(Drummer)
    Danke Matthias,
    Danke für deine Geduld. Ich werde es gleich testen und melde mich wieder.
    Gruß, Dieter(Drummer)
    AW: lass doch die Inputbox weg
    12.05.2020 12:29:46
    Dieter(Drummer)
    Danke Matthias für Geduld und Nachsicht.
    Habe jetzt diesen, deinen kurzen Code gewählt und der zeigt mein gewünschtes Ergebnis.
    
    Sub Bereich1()
    Cells(Rows.Count, ActiveCell.Column).End(xlUp).Offset(1).Select
    End Sub
    

    Der lange Code mit Inputbox, geht nicht und zeigt weiterhin den Fehler.
    Da muss ich wohl mit der Kurzversion leben.
    Vielen Damk und Gruß,
    Dieter(Drummer)
    und noch etwas ...
    12.05.2020 12:07:20
    Matthias
    ... wenn Du eine Zelle in einer leeren Spalte markierst wird die Zelle der 2.Zeile markiert.
    Nur so als Info, für den Fall das Du das nicht bemerkt hast.
    Gruß
    AW: Danke Matthias, das hatte ich bemerkt. owT
    12.05.2020 14:14:30
    Dieter(Drummer)
    AW: Danke Nepumuk, da muss ich mich ...
    12.05.2020 16:05:36
    Dieter(Drummer)
    ... mir den Code mal zu Gemüte führen und sehen, ob ich da etwas von umsetzen kann.
    Gruß und Danke,
    Dieter(Drummer)
    Hilfe, wo ist robert ? kwT
    12.05.2020 17:32:52
    Helmut

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige