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

VBA Problem?

VBA Problem?
28.03.2013 11:44:35
Petra
Hallo zusammen,
ich habe folgendes Verständnisproblem bei VBA-Makro.
WINDOWS 8
OFFICE 2013
Beispiel 1 dies laeuft nicht

Sub Auto_open()
Sheets("Medis").Visible = True
Sheets("Medis").Select
Dim rngFind As Range
Set rngFind = Worksheets("Medis").Cells.Find(What:=Date, After:=ActiveCell, LookIn:=xlFormulas,  _
_
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False)
If Not rngFind Is Nothing Then
rngFind.Activate
End If
End Sub
Beispiel 2 aber dies laeuft


Sub Auto_open()
Sheets("Dienst eintragen").Visible = True
Sheets("Dienst eintragen").Select
Dim rngFind As Range
Set rngFind = Worksheets("Dienst eintragen").Cells.Find(What:=Date, After:=ActiveCell, LookIn:=  _
_
xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False)
If Not rngFind Is Nothing Then
rngFind.Activate
End If
End Sub
Es sind 2 verschiedene Programme, in einem Läuft das Makro und im anderen nicht.
Das aktuelle Datum wird NICHT makiert und es kommt auch keine Fehlermeldung.
Es laüft nur nicht.
Könnte mir da jemand helfen?
Danke...
Petra

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Problem?
28.03.2013 11:48:43
Hajo_Zi
Hallo Petra,
das liegt daran das beim einem Programm die Tabelle in der gesucht wird Aktiv ist. Der Fehler ist After:=ActiveCell

AW: VBA Problem?
28.03.2013 11:55:10
Petra
Danke für die super schnelle Antwort, aber wie soll ich das ändern?

AW: VBA Problem?
28.03.2013 11:55:59
Hajo_Zi
vielleicht, reicht schon löschen?

AW: VBA Problem?
28.03.2013 11:58:45
Petra
Nein, das hat nicht gereicht. Es läuft immer noch nicht

AW: VBA Problem?
28.03.2013 13:15:20
Hajo_Zi
dann aufwendiger.
Dim rngFind As Range
With Worksheets("Medis")
Set rngFind = .Cells.Find(What:=Date, After:=.Cells(.Rows.Count, .Columns.Count), _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
End With
Gruß Hajo

Anzeige
AW: VBA Problem?
28.03.2013 12:32:10
Matze
Hallo Petra,
ist denn dein After:=ActiveCell vor oder nach dem Suchergebnis
bevor die Suche überhaupt losgeht active
After:=Cells(1,1) Feste Position , mal testen
Matze

AW: VBA Problem?
28.03.2013 12:46:21
Petra
Hallo...
das geht so auch nicht. Auch hier keine Fehlermeldung.
Sub Auto_open()
Sheets("Medis").Visible = True
Sheets("Medis").Select
Dim rngFind As Range
Set rngFind = Worksheets("Medis").Cells.Find(What:=Date, After:=Cells(1, 1), LookIn:=xlFormulas, _
LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False)
If Not rngFind Is Nothing Then
rngFind.Activate
End If
End Sub

Anzeige
AW: VBA Problem?
28.03.2013 12:47:07
Matze
Hallo Petra
Sub Auto_openX()
Sheets("Medis").Visible = True
Sheets("Medis").Select
Dim rngFind As Range
Set rngFind = Worksheets("Medis").Cells.Find(What:=Date, After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not rngFind Is Nothing Then
rngFind.Activate
End If
End Sub
Bei mir funzt es , hab das eben mal nachgestellt
Matze

AW: VBA Problem?
28.03.2013 12:54:30
Matze
Hallo Petra,
du hast auch bei Beiden Makros den gleichen Namen zum aufrufen, eigentlich sollte VBA
da gleich eine Meldung bringen, war bei mir jedenfalls so.
Die Makros kommen in ein Modul.
Hier noch ne kleine Musterdatei mit einem weiteren Blatt und 2 Buttons:
https://www.herber.de/bbs/user/84576.xlsm
Matze

Anzeige
AW: VBA Problem?
28.03.2013 12:56:18
Petra
Hallo Matze,
ich kann es ja auch nachvollziehen. In einem anderen Programm läuft das Marko ohne Probleme.
Auch deine Version habe ich kopiert und ausprobiert, klappt einfach nicht.
Wenn ich auf ein anderes Arbeitsblatt wechsel und dann das Makro laufen lasse, dann wechselt es das Arbeitsblatt und das wars dann.
Petra

AW: VBA Problem?
28.03.2013 12:59:46
Matze
Hallo Petra,
darfst du die Mappe hier einstellen?
Matze

AW: VBA Problem?
28.03.2013 13:08:51
Petra
Hi Matze
in welchem Format kann ich das senden?

AW: VBA Problem?
28.03.2013 13:12:23
Matze
Unter dem großen Eingabefeld wo du deine Beiträge schreibst geht es mit dem Button zum Fileupload, dort ist alles beschrieben.

Anzeige
AW: VBA Problem?
28.03.2013 13:40:05
Matze
Deine Datumsspalte hat am Anfang ein Datum welches dann nach unten mit einer Formel
aufaddiert wird, deshalb geht das nicht. kopiere das Start Datum nach unten .
Das sollte es gewesen sein
Matze

AW: VBA Problem?
28.03.2013 14:04:25
Petra
Danke Matze, das wars.
Frohe Ostern

AW: VBA Problem?
28.03.2013 15:46:10
Luschi
Hallo Petra, halle Leute,
habe mir mal gerade bei John Walkenbach angesehen, wie er in seinem neuesten Excel-Addin (PUP v7.2) das Problem von Petra löst.
J.W. ist einer der führenden Excel-Buch-Autoren in den USA. Ich kenne seine Bücher seit Excel '97 und auch für Excel 2013 hat er wieder seine Standardwerke 'Excel-Bibel' & 'Excel Power Programming with Vba' aktualisiert.
Und ich muß euch sagen, ich wollte es garnicht glauben, als ich den Vba-Code sah. Er macht das über eine For-Schleife und klappert jede Zelle darin ab.
In der Tabelle 'Medis' wird dieser Bereich durchsucht: A1:M2738 - da in D2738 noch die Zahl 1 steht, von der Petra sicher nicht mal was ahnt.
Selbst wenn das aktuelle Tagesdatum in Zelle 'G2738' und sonst nirgens (immerhin 35.594 Zellen) dauert der Schleifendurchlauf keine Sekunde; und meine PC-Kiste ist auch schon 3,5 Jahre alt!
Da M$ in jeder neuen Excelversion NEUE Probleme beim Filtern & Suchen von formatierten _ Datumsangaben in Vba hat, sit das jetzt meine 1. Wahl!

Sub Auto_openX()
'abgekupfert bei John Walkenbach - AddIn 'PUP v7.2' von Luschi
Dim rngBereich As Range, rngFind As Range
With Sheets("Medis")
.Visible = True
.Select
Set rngBereich = .Range("A5:A1000")
End With
For Each rngFind In rngBereich
If CStr(rngFind.Value) Like "*" & Date Then
rngFind.Activate
Exit For
End If
Next rngFind
Set rngFind = Nothing
Set rngBereich = Nothing
End Sub
Gruß von Luschi
aus klein-Paris

Anzeige
Besten Luschi,..das sollte man sich sichern owT
28.03.2013 22:44:11
Matze

habe mir mal gerade bei John Walkenbach angesehen
01.04.2013 16:59:01
robert
Hi Luschi,
und wo und wie hast Du das gesehen?
Vielleicht finde ich auch etwas ;-))
Grtuß
robert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige