Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
940to944
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
940to944
940to944
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

wenn aktive Zelle ungeschützt, ganze Zeile löschen

wenn aktive Zelle ungeschützt, ganze Zeile löschen
17.01.2008 21:41:15
tursiops
Hallo nochmal!
Ich hab gleich noch eine Bitte.
Bei Klick auf CommandButton2 soll folgende Prozedur ablaufen:
wenn die aktive Zelle ungeschützt ist, soll das Makro "Blattschutz_aus" ausgeführt werden und die ganze Zeile gelöscht werden.
ist die Zelle aber geschützt, soll für zwei Sekunden eine Messagebox angezeigt werden - Text: "keine löschbaren Daten vorhanden". Die Box sollte sich alleine wieder schließen.
Ist diese Prozedur ausführbar?
Gruß Frank

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn aktive Zelle ungeschützt, ganze Zeile löschen
17.01.2008 22:02:00
Josef
Hallo Frank,
meinst du so?
Private Sub CommandButton2_Click()
Dim WsShell As Object
If ActiveCell.Locked Then
    Set WsShell = CreateObject("WScript.Shell")
    WsShell.Popup Space(10) & "Keine löschbaren Daten!" & Space(10), 2, "Hinweis"
    
Else
    Call Blattschutz_aus
    ActiveCell.EntireRow.Delete
End If
End Sub

Gruß Sepp

Anzeige
AW: wenn aktive Zelle ungeschützt, ganze Zeile löschen
17.01.2008 22:12:54
tursiops
Ja genau! Klappt einwandfrei. Vielen Dank. Wegen der automatischen Abschaltung habe ich auch etwas gefunden. Dencke, ich kriege das hingebastelt.
Option Explicit
Private WaitForAction As Boolean
Private Action As tAction
Public Enum tAction
acNoAction = 0
acCommand1 = 1
acCommand2 = 2
acTimer = 3
End Enum

Private Sub cmdCommand1_Click()
WaitForAction = False
Action = acCommand1
End Sub



Private Sub cmdCommand1_KeyPress(KeyAscii As Integer)
If (Chr$(KeyAscii) = "2") And (cmdCommand2.Visible) Then
cmdCommand2_Click
Else
cmdCommand1_Click
End If
End Sub


' Shows Messagebox


Public Function showMessage(ByVal Message As String, ByVal title As String, ByVal  _
button1Caption As String, ByVal button2Caption As String, Optional timerSec As Long = 60) As tAction
Debug.Assert timerSec  "" Then
cmdCommand1.Visible = True
cmdCommand1.Caption = "&1: " & button1Caption
Else
cmdCommand1.Visible = False
End If
If button2Caption  "" Then
cmdCommand2.Visible = True
cmdCommand2.Caption = "&2: " & button2Caption
Else
cmdCommand2.Visible = False
End If
Timer1.Interval = timerSec * 1000
Timer1.Enabled = True
Me.Show
While WaitForAction
DoEvents
Wend
Timer1.Enabled = False
showMessage = Action
Unload Me
End Function



Private Sub cmdCommand2_Click()
WaitForAction = False
Action = acCommand2
End Sub



Private Sub cmdCommand2_KeyPress(KeyAscii As Integer)
If (Chr$(KeyAscii) = "1") And (cmdCommand1.Visible) Then
cmdCommand1_Click
Else
cmdCommand2_Click
End If
End Sub



Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If WaitForAction Then Cancel = True
End Sub



Private Sub Timer1_Timer()
Timer1.Enabled = False
WaitForAction = False
Action = acTimer
End Sub


Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige