Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro nach werteingabe ausführen

Makro nach werteingabe ausführen
27.06.2006 20:35:32
Stefan
Hallo
Problem
Ich möchte das ein Makro automatisch ausgeführt wird
welches nach der eingabe des wertes "1" in Zelle "B5"
und nach der eingabe Irgend eines Wertes in "F5"
Es sollten also beide bedingungen erfüllt sein.
Das Makro das ausgefürt werden soll lautet.

Sub Statistik()
Range("S5:S16").Select
Selection.Copy
Range("T5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Dim freieZ As Long
With Sheets("Statistik")
freieZ = .Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Eingabefeld").[c5:k5].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c6:k6].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c7:k7].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c8:k8].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c9:k9].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c10:k10].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c11:k11].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c12:k12].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c13:k13].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c14:k14].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c15:k15].Copy Destination:=.Cells(freieZ, 1)
freieZ = freieZ + 1
Sheets("Eingabefeld").[c16:k16].Copy Destination:=.Cells(freieZ, 1)
End With
Sheets("Statistik").Select
Columns("J:J").Select
Selection.Copy
Columns("K:K").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Frage noch offen
27.06.2006 20:40:26
Stefan
Sorry dieses Makro soll ausgeführt werden

Sub löschenStatistik()
' löschenStatistik Makro
' Makro am 21.06.2006 von Stefan aufgezeichnet
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Statistik").Select
ActiveSheet.Unprotect
Columns("A:I").Select
Range("I1").Activate
Selection.Clear
Columns("K:K").Select
Selection.ClearContents
Range("M2").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

AW: Frage noch offen
27.06.2006 21:17:28
Ramses
Hallo
Rechte Maustaste auf Tabellenreiter wo du die Daten in "B5" bzw "F5" eingibst.
Code anzeigen
Dort den Code reinkopieren
Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("B5") = 1 And Range("F5") <> "" Then
        With Sheets("Statistik")
            .Unprotect
            .Range("I1").Clear
            .Columns("K:K").ClearContents
            .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        End With
    End If
End Sub

Ist ungetestet, sollte aber tun.
Was du allerdings unter "...der eingabe Irgend eines Wertes in "F5".." verstehst weiss ich nicht. Der Code prüft nun einfach ob in F5 irgendwas drin steht.
Gruss Rainer
Anzeige
thank you Ramses der erste
27.06.2006 21:27:30
Stefan
Es funktioniert
"Der Code prüft nun einfach ob in F5 irgendwas drin steht"
Und genau dies sollte er tun
Nochmals Danke
AW: Frage noch offen
27.06.2006 21:27:38
Peter
Hallo Stefan,
so könnte es gehen:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$5" And Target.Value = 1 Or _
Target.Address = "$F$5" And Target.Value <> "" Then
'  hier dein Makro einfügen !!!
End If
End Sub

Füge das Makro in das fragliche Tabellenblatt, in dem die 1 und der Wert in F5 stehen soll. Rechtsklick auf den Tabellenreiter, Code anzeigen anklicken und Makro einfügen.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Anzeige
Ausprobiert ;-) ? o.w.T.
27.06.2006 21:35:38
Ramses
...
Sorry ist fast OK
28.06.2006 09:22:50
Stefan
So Klappt es Super

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B5") = 1 And Range("F5") <> "" Then
With Sheets("Statistik")
.Unprotect
.Range("I1").Clear
.Columns("K:K").ClearContents
.Columns("A:I").ClearContents
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End With
End If
End Sub

Jedoch entsteht ein neues Problem
Leider muß ich jetzt erstmal anderes erledigen Melde mich wieder!
Vielen Dank erstmal an Peter & Ramses

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige