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

Prozedur starten

Prozedur starten
Stefanglander
Hallo Excelanier,
Ich habe folgenden Code
Sub PageCount()
Range("B1").Value = _
ExecuteExcel4Macro("Get.Document(50)")
End Sub
Private Sub CommandButton1_Click()
PageCount
End Sub

haut soweit auch gut hin, nun abe rmeine Frage
Wie kann ich die Sub Page Count aufrufen wenn ich die Datei öffne?
Das zwite Problem was ich nicht gelößt bekomme ist das die Sub automatisch ausgeführt wird wenn ich beispielsweise die Zelle A3 verlasse.
Ich hatte schon folgendes probiert, laüft aber irgendwie nicht

Private Sub Workbook_Open()
PageCount
End Sub

kann einer helfen ?
Gruss
Stefan

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Prozedur starten
15.07.2009 19:20:00
Christian
Hallo Stefan,
schreib die Sub-Prozedur PageCount in ein allgemeines Modul.
Hier musst du auch das Tabellenblatt mit angeben.
bsp:
Sheets("Tabelle1")Range("B1").Value = ExecuteExcel4Macro("Get.Document(50)")
Gruß
Christian
AW: Prozedur starten
15.07.2009 19:53:21
Jens
Hi Stefan
Code unter "Diese Arbeitsmappe":
Private Sub Workbook_Open()
Call PageCount
End Sub
Gruß aus dem Sauerland
Jens
AW: Prozedur starten
15.07.2009 22:20:09
Stefanglander
Hallo Christian, hallo Jens,
irgendwie bekomme ich das nicht hin.
Ist bitte einer so lieb und schreibt mir genau wo ich was reinschreiben muss damit meine Sub beim öffnen der Datei ausgefürt wird und wie ich mein zweites Problem ( Sub soll bei verlassen der Zelle z.B. A10 ) ausgeführt werden.
Danke Euch
Gruss
Stefan
Anzeige
AW: Prozedur starten
16.07.2009 07:42:56
Christian
Hallo Stefan,
zu 1:
wie Jens bereits geschrieben hat, kommt der Code "Workbook_Open" in das Modul von "DieseArbeitsmappe".
Des Weiteren in ein allgemeines Modul (im Editor - Einfügen - Modul) der folgende Code:
Sub PageCount()
Sheets("Tabelle1").Range("B1").Value = ExecuteExcel4Macro("Get.Document(50)")
End Sub
(den Tabellennamen musst du anpassen)
zu 2:
Einen Code"beim Verlassen der Zelle" ausführen ist nicht so einfach (zumindest bis xl2003). Es gibt das "Worksheet_SelectionChange" Ereignis, dies tritt aber bei der Auswahl einer Zelle und nicht beim Verlassen der Zelle ein.
Da es hier nur um die aktuelle Seitenanzahl geht, würde ich das z.B. mit einen Button realisieren.
Gruß
Christian
Anzeige
Danke (Mit Text)
16.07.2009 10:59:23
Stefanglander
Hallo Christian,
nachdem ich nun heute morgen die Sache in aller Ruhe angegangen bin und auch lauffähig hinbekommen habe möchte ich es nicht versäumen mich bei Dir und Jens nochmals recht herzlich zu bedanken.
Ich hatte das Beispiel mit der Seitenzahl nur gewählt als Beispiel, der Aufruf der Sub funktioniert aber sicher auch mit viellen anden Funktionen.
Wenn es nun nicht zuviel verlangt ist wäre ich Dir dankbar wenn du mir das anhand der Seitenzahl mit dem betreten einer Zelle noch coden könntest.
Vielen Dank
Stefan
SelectionChange
16.07.2009 18:27:46
Christian
hier ein Bsp bei Auswahl einer Zelle "B2" (der Code muss in das Klassenmodul der Tabelle, z.B. "Tabelle1"):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.Intersect(Target, Range("B2")) Is Nothing Then Exit Sub
Debug.Print "B2"
End Sub
Dabei wird bei jedem Wechsel der Zelle - mit Cursotaste, Maus, etc. - geprüft, ob es eine Schnittmenge zwischen den aktiven Bereich und der Zelle B2 gibt. Wenn Nein, dann exit, sonst "mach was".
Wenn du das Ganze jetzt beim Verlassen einer Zelle ausführen willst, musst du bei jedem Wechsel prüfen, ob die letzte aktive Zelle "B2" war und der aktuelle Bereich mit "B2" keine Schnittmenge hat. Wenn Nein, dann exit, sonst "mach was".
Gruß
Christian
Anzeige
AW: SelectionChange
16.07.2009 20:12:58
Stefanglander
Hallo Christian,
Erstmal Danke.
Habe nun folgendes eingebaut und haut super hin.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$25" Then
Call PageCount
End If
End Sub

Sub PageCount()
Range("B1").Value = _
ExecuteExcel4Macro("Get.Document(50)")
End Sub Kann ich auch eine 2. Zelle, z.B. "B26" einbauen?
Es soll dann die SuB "Test" ausgeführt werden
Gruss
Stefan
AW: SelectionChange
16.07.2009 20:19:39
Jens
Hi Stefan
z.B. so:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Target.Address
Case Is = "$B$25"
Call PageCount
Case Is = "$B$26"
Call Test
End Select
End Sub
Gruß aus dem Sauerland
Jens
Anzeige
Dickes Danke (0.T)
17.07.2009 10:24:22
Stefanglander
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige