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

UserForm Initialisieren

UserForm Initialisieren
17.02.2021 10:39:00
Micha
Hallo,
habe eine Userform welche mir eine bestimmte Zelle löschen soll.
Leider funktioniert mein Code nicht.
Kann mir jemand den Code ergänzen?
Vielen Dank schon mal.
https://www.herber.de/bbs/user/143995.xlsm

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Initialisieren
17.02.2021 10:45:24
Werner
Hallo,
1. du ermittelst die erste leere Zelle in Spalte A, dort sind aber keine Daten
2. wird im Code deiner Schaltfläche der Variablen last kein Wert zugewiesen, der Wert ist somit 0 und eine Zelle mit dem Zeilenwert 0 gibt es nicht
Vielleicht solltest du einfach mal beschreiben, was du eigentlich vor hast.
Gruß Werner
AW: UserForm Initialisieren
17.02.2021 11:28:56
Micha
Hallo,
habe eine fortlaufende Tabelle. Ist der letzte fortlaufende Eintrag nicht richtig, so erscheint in der dazugehörigen Spalte (z.B. Spalte 10)mittels VBA-Code eine Fehler(meldung).Nun wird die UserForm aufgrufen. Der dazugehörige Button soll die letzte Fehlermeldung löschen, bevor der neue Eintrag erfolgen kann.
Da die Datei sehr groß und umfangreich ist, habe ich nur einen kleinen Auszug gesendet.
Der Code
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1 '<-- Erste freie Zeile finden
ermittelt mir die erste freie Zeile. Ich hoffe mich einigermaßen klar ausgedrückt zu haben.
Gruß Micha
Anzeige
AW: UserForm Initialisieren
17.02.2021 11:53:50
Herbert_Grom
Hallo Micha,
was genau möchtest du tun?
Servus
P.S.: Schön, dass du mit einer Datei von mir arbeitest! ;o)=)
AW: UserForm Initialisieren
17.02.2021 15:11:04
Micha
Hallo Herbert,
habe eine UserForm mit einer TextBox in der ich Werte (Texte) eintrage. Diese werden in die nächste freie fortlaufende Zelle übernommen. Sollte dort nun ein Fehler auftreten, so erscheint eine andere UserForm und meldet diesen Fehler. Per Button quittiere ich diesen und trage danach den "richtigen" Wert ein.
Nochmal zum Ablauf:
1). Eintrag in Zelle A2. 2). Wenn Eintrag OK, dann keine Meldung. 3). Wenn Eintrag nicht OK, dann Meldung in Zelle J2 als "Fehler". 4). Dann neue UserForm und "Fehler" in J2 wird quittiert. (ClaerContents).
5). Danach erfolgt Neueintrag in Zelle A2.
Bitte nochmals die beigefügte Datei öffnen. Dort habe ich es nochmals versucht zu erklären.
Gruß Micha
https://www.herber.de/bbs/user/144011.xlsm
Anzeige
AW: UserForm Initialisieren
17.02.2021 15:21:08
Werner
Hallo,
schön, dass du eine Datei hast, bei der du über eine Userform etwas in die Tabelle einträgst. Die Datei haben wir aber nicht. Zumindest ist in deiner Beispielmappe keine entsprechende Userform vorhanden.
Keine Ahnung was da wie auf Fehler oder nicht Fehler geprüft werden soll. Kein Mensch hier weiß, wann dein Eintrag fehlerhaft ist und wann nicht.
Gruß Werner
AW: UserForm Initialisieren
17.02.2021 16:13:50
Micha
Hallo Werner,
werde mich nochmals dazu melden.
Gruß Micha
AW: UserForm Initialisieren
17.02.2021 17:26:49
Micha
Hallo Werner,
vielen Dank für deine Unterstützung. Anbei nochmals meine Datei ausführlicher und hoffentlich aussagekräftiger.
Manchmal bin ich der Meinung das einige Details für den Anderen ausreichend sein müssten. Aber das ist wohl die falsche Denke. Musste mir, mit Recht, bereits eine Rüge abholen. Also auch für Dich; nichts für Ungut.
Gruß Micha
https://www.herber.de/bbs/user/144017.xlsm
Anzeige
AW: UserForm Initialisieren
18.02.2021 00:52:25
ralf_b
Hallo
hier mal zwei Varianten mit deine 2.UF und ohne aber mit Messagebox.
sondern mit Messagebox
Wenn du die 2. UF doch unbedngt benötigst, kannst du die last cell nr auch per tag Eigenschaft der UF übergeben.
https://www.herber.de/bbs/user/144025.xlsm
gruß
rb
AW: UserForm Initialisieren
18.02.2021 01:06:41
Micha
Hallo ralf_b,
vielen Dank für Deinen Vorschlag. Werde ich aber erst in ein paar Stunden testen. " Wegen müde :-)"
Scheint auch eine gute Lösung zu sein. Also bis dann. Bleib bitte auch gesund.
Gruß Micha
AW: UserForm Initialisieren
17.02.2021 15:22:55
Herbert_Grom
Hast du dir mal deinen Code für die UserForm angesehen? Da ist nix und da passiert nix!
Du schreibst: "Mit diesem Button möchte ich den letzten Fehlereintrag in Spalte J löschen."
In Spalte J ist aber nix zum löschen, da ist garnix! Also, wenn ich dir helfen soll, dann musst du schon deine Original-Datei hochladen! Wenn die sensible Daten enthält, musst du dir halt die Arbeit machen und diese anonymisieren!
Servus
Anzeige
AW: UserForm Initialisieren
17.02.2021 16:15:05
Micha
Hallo Herbert,
werde mich dazu nochmals melden.
Gruß Micha
AW: UserForm Initialisieren
17.02.2021 17:23:08
Micha
Hallo Herbert,
vielen Dank für Deine Unterstützung. Anbei nochmals meine Datei ausführlicher und hoffentlich aussagekräftiger.
Manchmal bin ich der Meinung das einige Details für den Anderen ausreichend sein müssten. Aber das ist wohl die falsche Denke. Also nicht für Ungut.
Gruß Micha
https://www.herber.de/bbs/user/144016.xlsm
AW: UserForm Initialisieren
17.02.2021 19:46:07
Werner
Hallo,
wozu das gut sein soll, kannst nur du wissen. Mir zumindest ist unklar, wozu du erst mit der einen Userfor, einen Fehler in Spalte J schreibst um ihn dann gleich wieder mit Userform 2 zu entfernen. Aber egal.
1. ermittelst du im Initialize der Userform2 durch +1 die erste freie/leere Zelle. Die ist aber leer, da gibts nichts zum Leeren. Was du willst ist die letzte belegte Zelle. Also muss das +1 weg.
2. versucht du auf den Wert der Variablen last aus dem Initialize dann im Code des Commandbuttons zuzugreifen. Das geht so aber nicht. Wenn deinInitialize Code durchgelaufen ist, geht der Wert von last verloren. Die Variablen last im Initialize und im Buttoncode haben nichts miteinander zu tun.
Einfach last im Buttoncode ermitteln.
Ich habe dir den Code mal umgeschrieben, die Spaltenbezeichnungen kannst du auch als Buchstaben angeben. Liest sich einfacher und die "Spaltenzählerei" fällt weg.
Das Initialize der zweiten Userform kannst du löschen.
UF Daten:
Private Sub CB_Dateneingabe_Click()
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Offset(1).Row
Cells(last, "A") = TB_Daten
If Cells(last, "A") = "Dateneingabe" Or Cells(last, "A") = "" Then
Cells(last, "J").Value = "Fehler"
UF_Daten.Hide
UF_Fehler.Show
End If
End Sub
Private Sub Userform_initialize()
TB_Daten = "Dateneingabe"
End Sub
UF Fehler
Option Explicit
Private Sub CB_Exit_Click()
Dim last As Long
last = Cells(Rows.Count, "A").End(xlUp).Row
Cells(last, "J").ClearContents
Unload Me
UF_Daten.Show
End Sub
Gruß Werner
Anzeige
AW: UserForm Initialisieren
18.02.2021 00:58:49
Micha
Hallo,
vielen Dank für Deine Hilfe.
Wie bereits geschrieben, handelt es sich um einen kleinen Auszug meiner Datei.
Daher macht es für Dich auch keinen großen Sinn. Ganz kurz erklärt: Ich gebe mehrere Daten über eine "große" UserForm ein, welche wiederum zu weiteren Berechnungen führen. Ist eine Dateneingabe fehlerhaft, bzw. gar nicht erfolgt, bzw. ein Schreibfehler oder Wertefehler usw. soll eine UserForm den gemachten Fehler beschreiben und auch korrigieren. (Damit der Anwender unseres Vereins diesen auch nachvollziehen kann). Das Gleiche kann man ja auch über MsgBoxen realisieren. Dass ich es mit einer UserForm realisiere hat auch einen Grund. Nochmals vielen Dank. Habe heute viel gelernt. Bleib gesund.
Gruß Micha
Anzeige
Gerne u. Danke für die Rückmeldung. o.w.T.
18.02.2021 08:07:13
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige