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

Letzten getätigten Eintrag löschen, bei Msgbox

Letzten getätigten Eintrag löschen, bei Msgbox
Michi
Hallo,
ich konnte schon manch Makro Probleme alleine durchs lesen lösen. Allerdings komme ich hier gerade nicht
mehr weiter.
Ich habe eine ExcelTabelle erstellt in der man in die einzelnen Spalten nur den Wert 1 eintragen kann. Die Spalten stehen für KW. Pro KW können sich nur eine bestimmt Anzahl an Personen eintragen. Damit pro Kw sich nicht zuviele Leute eintragen, habe ich folgendes Makro zusammen geschustert, was eine Meldung auswirft, wenn ein bestimmter Wert (steht in AE3) überschritten wird. Dies funktioniert auch.
Allerdings will ich jetzt, wenn durch den letzten getätigten Eintrag eine Meldung erzeugt wird, dann auch der eintrag gelöscht wird, welche zu dieser Meldung führte.
Hoffentlich hab ich mich verständlich ausgedrückt.
Anbei mein Quode Private Sub Worksheet_Calculate() Dim IntZeile As Integer For IntZeile = 152 To 177 If Range("F" & IntZeile).Value > Range("AE3") Then MsgBox "Bitte wählen Sie eine andere KW aus" End If Next End Sub
Danke im Voraus
AW: Letzten getätigten Eintrag löschen, bei Msgbox
14.08.2012 18:27:49
Josef

Hallo Michi,
dazu braucht man kein VBA, das geht mit Datengültigkeit, allerdings müsste man dazu etwas mehr über den Tabellenaufbau wissen.

« Gruß Sepp »

AW: Letzten getätigten Eintrag löschen, bei Msgbox
14.08.2012 18:52:49
Michi
Hallo Sepp,
mit Gültigkeit klappt das leider nicht da Summen als Prüfgrößen genutzt werden, daher keine Gültigkeit möglich.
Zum Aufbau der Tabelle.
Die Spalten G bis BE stehen für die Kalenderwochen. In den Zeilen drunter können verschiedene Personen sich für die KW eintragen. Dies geschieht über den Eintrag einer "1" (ist mit Gültigkeit hinterlegt das nur "1" geht) in die jeweilige KW. An Ende jeder Spalte wird dann die Summe gebildet pro KW. Es dürfen pro KW nur eine bestimmte Anzahl an Personen sich eintragen. Die Kontrollgröße steht in Zelle AE3 (Bsp. 3 )
Durch mein Makro erreiche ich jetzt wenn sich bereits 3 Leute für eine KW eingetragen haben, das beim Eintrag einer 4 Person, die Meldung erscheint "Bitte wählen Sie eine andere KW". Soweit so gut. Leider wird aber der Eintrag der vierten Person wird nach der MsgBox nicht gelöscht und genau das will ich erreichen. Leider reichen meine Kenntnisse nicht aus.
Anzeige
evtl. mit Application.Undo ...
14.08.2012 19:12:39
Matthias
Hallo
so nach diesem Motto
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
MsgBox "nicht akzeptierter Wert"
Application.Undo
Application.EnableEvents = True
End Sub
Pack den Code mal in einer neuen Datei in das Worksheet_Change einer Tabelle und teste das mal.
Gruß Matthias
AW: Letzten getätigten Eintrag löschen, bei Msgbox
14.08.2012 19:28:25
Josef

Hallo Michi,
"mit Gültigkeit klappt das leider nicht da Summen als Prüfgrößen genutzt werden, daher keine Gültigkeit möglich"
das ist Quatsch, natürlich kann man auch Formeln in der Gültigkeit verarbeiten!
Was in deinem Fall dagegen spricht, ist das du ja schon eine Gültigkeitsüberprüfung in die Zellen eingebaut hast.
Versuch es mal so.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range
  
  On Error GoTo ErrExit
  
  If Not Intersect(Target, Range("B152:BE177")) Is Nothing Then
    Application.EnableEvents = False
    For Each rng In Intersect(Target, Range("B152:BE177"))
      If Application.Sum(Range(Cells(152, rng.Column), Cells(177, rng.Column))) > Range("AE3") Then
        MsgBox "Üngültige Eingabe in " & rng.Address(0, 0) & "!", vbInformation, "Hinweis"
        rng = ""
      End If
    Next
  End If
  
  ErrExit:
  Application.EnableEvents = True
End Sub



« Gruß Sepp »

Anzeige
AW: Letzten getätigten Eintrag löschen, bei Msgbox
15.08.2012 07:39:42
Michi
Morgen,
danke für eure Hilfe. Leider hat es nicht funktioniert.
Ich werde wohl weitersuchen.
Danke trotzdem.
AW: Letzten getätigten Eintrag löschen, bei Msgbox
15.08.2012 07:45:16
Josef

Hallo Michi,
Aussagen wie "Leider hat es nicht funktioniert" liebe ich, da weiß man gleich mehr.
Was hat nicht funktioniert?
Wir kennen deinen Tabellenaufbau nicht, daher können wir nur raten, vielleicht solltest du ein Beispiel hochladen.

« Gruß Sepp »

Anzeige
AW: Letzten getätigten Eintrag löschen, bei Msgbox
15.08.2012 08:03:07
Michi
anbei eine Beispieldatei mit dem alten Code.

Die Datei https://www.herber.de/bbs/user/81427.xls wurde aus Datenschutzgründen gelöscht


Hier wird wie gewünscht die Fehlermeldung rausgegeben sobald die Prüfsumme zu groß ist. Allerdings wird der letzte Eintrag, welche zu diesem Fehler führte nicht gelöscht. Das will ich erreichen.
Gruß und Danke
Michi
AW: Letzten getätigten Eintrag löschen, bei Msgbox
15.08.2012 08:10:29
Josef

Hallo Michi,
und was funktioniert nicht? Du hast den Code doch gar nicht ausprobiert.
Den Zellbereich muss man natürlich anpassen.
https://www.herber.de/bbs/user/81428.xls

« Gruß Sepp »

Anzeige
AW: Letzten getätigten Eintrag löschen, bei Msgbox
15.08.2012 08:20:04
Michi
Danke Sepp..
Hatte den Coden in einer anderen File getestet. Da hatte sich nichts getan.
Jetzt weiss ich wo der Fehler lag. Falsche Zeilen Bezug bzgl. der Prüfgröße
Danke klappt prima.
AW: Variante via Datengültigkeit
15.08.2012 10:48:50
fcs
Hallo Michi,
du kannst auch ohne Makro nur über Datengültigkeit den Eingabewert und die max. Teilnehmerzahl prüfen.
Gruß
Franz
Planung

 FGI
4Summe88
5 2012 
6StandortKW 40KW 41
7Kassel1 

Formeln der Tabelle
ZelleFormel
G4=G151
I4=I151

Datengültigkeit der Tabelle
ZelleZulassenDatenEingabe 1Eingabe 2
F7Liste =Standort 
G7Benutzerdefiniert =UND(G7=1;G$4<=$AE$3) 
I7Benutzerdefiniert =UND(I7=1;I$4<=$AE$3) 

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
G41. / Zellwert ist kleiner als =6Abc
G42. / Zellwert ist zwischen =6 und =8Abc
G43. / Zellwert ist grösser als =8Abc
I41. / Zellwert ist kleiner als =6Abc
I42. / Zellwert ist zwischen =6 und =8Abc
I43. / Zellwert ist grösser als =8Abc


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gültigkeits-Meldung - angepasst:
Userbild
Anzeige
AW: Variante via Datengültigkeit
16.08.2012 08:04:25
Michi
Danke so ist es einfacher. Perfekt.
Auf diese Idee wäre nicht gekommen ;)
AW: Variante via Datengültigkeit
16.08.2012 08:31:37
Josef

Hallo Michi,
"Danke so ist es einfacher. Perfekt.
Auf diese Idee wäre nicht gekommen ;)"

So eine Lösung habe ich dir auch vorgeschlagen und du hast sie abgelehnt!

« Gruß Sepp »

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige