Hallo Iso,
Und zwar habe ich eine ganz normale Datenbank und eine andere
Datei zum Protokollieren.
Das was ich will ist, wenn in der Protokoll Datei (Spalte G)
deine Wortwahl, ändere die bitte. Eine Datei ist eine Mappe, die hat Tabellenblätter, Blätter, diese haben Zeilen, Spalten , Zellen.
Und deine Protokolldatei hat keine Spalte G.
Aber ein Blatt in ihr hat Spalten.
Je klarer du dich ausdrückst, desto schneller können wir dir ggfs. helfen.
In Bearbeitung steht, soll eine Nachricht (MsgBox) in der
Datenbank Datei erscheinen, dass es Daten zur Bearbeitung
gibt.
Und dies jedes mal überprüfen wenn ich die Datenbank neu
starte.
Protokolldatei: U:\ Modified protocol.xls
Tabellenblatt: Protocol
Datenbank: U:\Database.xls
Tabellenblatt: S. Database
Genau so, genau das meinte ich. Ich lasse trotzdem mal das oben geschriebene stehen. Lesen ja auch andere.
Was soll das Leerzeichen vor dem „M“ im Ordnernamen? Selbst wenn das aktzepiert wäre als Ordnernamen, schmeiß es raus.
Auch wenn es für mein optisches Empfinden Kacke aussieht, benutze im Ordnernamen (und auch Dateinamen) immer Unterstriche anstatt dem Leerzeichen.
Dann bist du auf der sicheren Seite, Leerzeichen KÖNNEN Probleme machen, zwar lösbare, aber warum potentielle Fehler einbauen von haus aus?
Nachfolgender Code muß in das Modul "DieseArbeitsmappe von Database.xls.
Und zum Vorredner, wird zwar m.E. nur benutzt wenn man Code schreibt den dann Vba-Anfänger leichter verstehen sollen,
MsgBox Columns(„G“).Address
und
MsgBox Columns(7).Address
ist das Gleiche.
Aber normalerweise benutzt man die zweite Variante.
Und zur MsgBox, wenn du eh schon Vba benutzt, rufe doch dann eine Prozedur (=Makro) auf daß dann „bearbeitet“.
Gruß
Reinhard
Option Explicit
Private Sub Workbook\_Open()
Dim Vorhanden As Boolean, wkb As Workbook
For Each wkb In Workbooks
If wkb.Name = "Modified\_protocol.xls" Then
Vorhanden = True
Exit For
End If
Next wkb
If Vorhanden = False Then Workbooks.Open "U:\Modified\_protocol.xls"
With Workbooks("Modified\_protocol.xls").Worksheets("Protocol")
If Application.CountIf(.Columns(7), "In Bearbeitung")