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

WorkbookOpen mit Feldabfrage

WorkbookOpen mit Feldabfrage
24.03.2021 11:17:33
Hans
Hallo,
ich möchte beim öffnen einer Excel-Datei, aus einem bestimmten Pfad, unter folgenden Bedingungen eine MSGBOX erhalten.
Die zu öffnende Datei, zb. 12345...xls, (mit einem Feldnamen "_Kunde") soll in der "KalkInfo.xls" nach schauen ob in der Spalte B eine Zeichenfolge mit dem im Feldnamen "_Kunde" übereinstimmt. Wenn dies der Fall ist soll eine MSGBOX diese Zeichenfolge ausgeben und evtl. nachfragen ob die "KalkInfo.xls" geöffnet werden soll.
Wobei der Code in folgendes vorhandenes Klassenmodul-Makro intigriert werden Soll.
Option Explicit
Public WithEvents xlApp As Excel.Application

Private Sub xlApp_WorkbookOpen(ByVal Wb As Excel.Workbook)
If Wb.Path Like "S:\Preis\Kalk*" Then
Select Case Wb.Name
Case "Kalkulation.xls" 'diese Datei von der Suche ausschließen
Case Else
With Wb.Sheets("Kalk").Range("Aufschlag") 'Nur in Sheet "Kalk" abgefragt
If IsNumeric(.Value) Then
If .Value 
Dieser Code ist bestehend und funktioniert bereits, die obige Abfrage soll in diesen intigriert werden.
Ich hoffe hier kann mir jemand weiterhelfen.
Gruß Hans

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

Betreff
Datum
Anwender
Anzeige
AW: WorkbookOpen mit Feldabfrage
25.03.2021 08:17:08
Hans
Hallo,
hat keiner eine Idee ?
Gruß Hans

AW: WorkbookOpen mit Feldabfrage
29.03.2021 18:26:33
fcs
Hallo Hans,
hier mein Versuch - ungetestet, da ich keine Lust habe hier mehrere Dateien nachzubauen.
LG
Franz
Option Explicit
Public WithEvents xlApp As Excel.Application
Private Sub xlApp_WorkbookOpen(ByVal Wb As Excel.Workbook)
Dim strPfad As String
Dim varKunde As Variant
Dim wbInfo As Workbook, wksInfo As Worksheet, strDateiInfo As String, rngKunde As Range
'  If Wb.Path Like "S:\Preis\Kalk*" Then
If Wb.Path Like "C:\users\public\Preis\Kalk*" Then
Select Case Wb.Name
Case "Kalkulation.xls" 'diese Datei von der Suche ausschließen
Case Else
strPfad = Wb.Path
With Wb.Sheets("Kalk").Range("Aufschlag") 'Nur in Sheet "Kalk" abgefragt
If IsNumeric(.Value) Then
If .Value 


Anzeige
AW: WorkbookOpen mit Feldabfrage
30.03.2021 09:23:04
Hans
Hallo fcs,
Danke für deine Hilfe,
erstes Problem:
ich hab dein Makro eingebunden u. Datei entsprechend geöffnet →
meine erste Abfrage funktioniert noch, dann kommt Fehlermeldung: Laufzeitfehler 9 "Index außerhalb des gültigen Bereichs" →
bei klick auf "Debuggen" →
Spung zurück auf meine Codezeile: With Wb.Sheets("Kalk").Range("Aufschlag") 'Nur in Sheet "Kalk" abgefragt →
dann öffnet die "Kalkinfo" →
MSGBox kommt dann keine mehr
zweites Problem:
Die "KalkInfo.xls" soll nur geöffnet werden nachdem die Zeichenfolge übereinstimmt und in der MsgBox auf "öffnen" geklickt wird.

Anzeige
AW: WorkbookOpen mit Feldabfrage
30.03.2021 18:35:36
fcs
Hallo Hans,
ohne einen kompletten Satz Beispiel-Dateien ist es halt schwierig Fehler zu finden.
Zum Suchen eines Wertes in einer Tabelle, muss die Arbeitsmappe geöffnet sein, es sei den man bedient sich extremer Klimmzüge, um aus der geschlossenen Datei Werte zu extrahieren und zu vergleichen - da spiel ich aber nicht mit.
Zur Suche wird deshalb die "KalkInfo.xls" schreibgeschützt geöffnet und sollte normalerweise eigentlich nicht sichtbar werden, da die Bildschirmaktualisierung deaktiviert ist. Hier könnte man noch mit dem Sichtbar-Status der Datei arbeiten, halte ich aber nicht für nötig.
Ich hatte eine Zeile im Code vergessen, die Kalkinfo.xls schließt, wenn "_Kunde" nicht gefunden wird.
Hier nochmals mein Vorschlag als Textdatei.
https://www.herber.de/bbs/user/145214.txt
Zu der Fehlermeldung:
Diese zeigt eigentlich an, dass entweder das Blatt "Kalk" in der geöffneten Datei nicht vorhanden ist, oder der Name "Aufschlag" keiner Zelle im Blatt "Kalk" zugewiesen ist.
Falls das ein Dauer-Problem ist, dann müsste geprüft werden, ob "Blatt "Kalk" und Name"Aufschlag" vorhanden sind.
LG
Franz

Anzeige
AW: WorkbookOpen mit Feldabfrage
29.03.2021 09:34:37
Hans
Hallo,
Bitte nochmal um Hilfe,
ich bekomme es nicht zum laufen.

AW: WorkbookOpen mit Feldabfrage
29.03.2021 18:30:06
Oberschlumpf
Hi Hans,
wie wär's, wenn du uns per Upload eine Bsp-Datei mit deinem Code + Bsp-Daten zeigst?
(aber vllt hilft ja schon die ungetestete Idee, die dir gezeigt wurde)
Ciao
Thorsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige