Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
588to592
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
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro

Makro
21.03.2005 15:15:01
Micha
Ich habe 2 kleine Probleme bei der Makroverarbeitung.
1:Ich möchte in einer Excel-Tabelle nach einem vorgegebenen Begriff suchen und nur wissen ob "vorhanden" oder "nicht vorhanden". Mit ".Find" betsteht das Problem, daß ich dies einen FEHLER liefert wenn der Begriff nicht gefunden wurde.
2: Ich starte eine Oberfläche in Visal Basic und möchte eine Excel Tabelle öffnen (Workbooks.Open Filename:=...). Wenn die Tabelle offen ist soll die Bearbeitung des Makros unterbrochen werden, bis die aktive Tabelle geschlossen wird.
Gibt es eine Lösung?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro
21.03.2005 15:29:14
Matthias
Hallo Micha,
Zu 1
Sub finde()
Dim s As Range
Set s = Range("A1:X65536").Find(What:="Hallo")
If s Is Nothing Then
MsgBox "Nicht gefunden"
Else
MsgBox "Gefunden!"
End If
End Sub

zu 2
Du müsstest das Makro in 2 Makros aufteilen...
Am besten wäre es, wenn du bei erneuter Aktivierung der Mappe [Workbook_Activate()] prüfst, ob die Datei geschlossen wurde, und du wenn ja, du dann ein anderes Makro startest, welches deinen Berechnungen fortführt.
Gruß Matthias
AW: Makro
21.03.2005 16:46:47
micha
vielen Dank!
Die Suchfunktion funktioniert so wunderbar.
Mit der Unterbrechung des Makros ist es noch etwas schierig.Wie könnte ich ein Makro in einem anderen starten?
Gruß Micha
Anzeige
AW: Makro
21.03.2005 17:00:58
Matthias
Hallo Micha,
naja, z.B. so:
in "DieseArbeitsmappe":
Option Explicit
Private Sub Workbook_Activate()
If CheckMappe <> "" Then
If MappeOffen(CheckMappe) = False Then Makro2
End If
End Sub

in ein normales Modul:

Option Explicit
Public CheckMappe As String
Sub Makro1()
Dim fn As String
fn = "C:\test.xls"
Workbooks.Open Filename:=fn
CheckMappe = ActiveWorkbook.name
End Sub
Sub Makro2()
CheckMappe = ""
MsgBox "So, weiter im Text"
End Sub
Function MappeOffen(name As String) As Boolean
Dim dummy As String
On Error Resume Next
dummy = Workbooks(name).name
If Err.Number > 0 Then
Err.Clear
MappeOffen = False
Else
MappeOffen = True
End If
End Function

Es wird also beim Aktivieren der Mappe geprüft, ob die mit Workbooks.Open geöffnete Mappe wieder geschlossen ist. Wenn ja, wird Makro2 gestartet.
Ob und wie dein Makro "teilbar" ist, kann ich so nicht beurteilen, da ich es nicht kenne ;-)
Gruß
Matthias
Anzeige
AW: Makro
21.03.2005 15:30:34
micha
is ja easy

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige