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

VBA - Problem beim Öffnen einer Datei

VBA - Problem beim Öffnen einer Datei
10.11.2005 11:54:30
Sebastian
Guten Tag,
ich habe ein kleines Makro gebastelt und zwei Probleme:
1.) Das Makro meldet einen Fehler, wenn ich die Datei Makro-Liste.xls nicht per Hand öffne, obwohl die Datei laut Code aktiviert werden sollte. Wie kann ich die Datei automatisch öffnen?
2.) Das Makro funktuniert einwandfrei, wenn ich es im Makro-Editor abspiele. Öffne ich es aber über das verknüpfte Objekt in der Datei Makro-Eingabeformular.xls, so findet es den Wert nicht, den es suchen soll und schreibt auch nicht in die entsprechende Zeile.
Es wäre schön, wenn mir jemand helfen könnte: diese Probleme übersteigen meine bescheidenen VBA-Kenntnisse.
Vielen Dank schon mal,
Sebastian
Hier der Code:
Option Explicit

Sub Vergleichen()
Dim WkShL     As Worksheet
Dim WkShE     As Worksheet
Dim iWks      As Integer
Dim lLetzte   As Long
Dim lZeile    As Long
Dim bGefu     As Boolean
Dim sAbfra    As String
Dim iSpalte   As Integer
Const strPath1 As String = _
"C:\Documents and Settings\Rde14287x\Desktop"
Const strFile1 As String = "Makro-Liste.xls"
Const strPath2 As String = _
"C:\Documents and Settings\Rde14287x\Desktop"
Const strFile2 As String = "Makro-Eingabeformular.xls"
On Error Resume Next
bGefu = False
Workbooks.Open Filename:=strPath1 & strFile1
Sheets("Tabelle1").Activate
lLetzte = IIf(Range("a65536") <> "", 65536, Range("a65536").End(xlUp).Row)
On Error GoTo 0
Set WkShL = Workbooks("Makro-Liste.xls").Worksheets("Tabelle1")
Set WkShE = Workbooks("Makro-Eingabeformular.xls").Worksheets("Tabelle1")
For lZeile = 2 To lLetzte
If WkShE.Range("D3").Value = WkShL.Range("A" & lZeile).Value Then
bGefu = True
Exit For
End If
Next lZeile
If bGefu = True Then
MsgBox "Die Kundennummer wurde " _
& Chr(10) & "in Zeile " & lZeile & " gefunden.", _
64, "   Der Kunde ist bereits angelegt."
sAbfra = MsgBox("Wollen Sie die Daten des Kunden aktualisieren?", _
vbQuestion + vbOKCancel, "   Bitte entscheiden Sie sich.")
If sAbfra = "1" Then
WkShL.Cells(lZeile, 2).Value = WkShE.Cells(1, 3).Value
End If
Else
lZeile = lLetzte + 1
MsgBox "Der Kunde wird neu angelegt.", _
64, "   Die Kundennummer ist noch nicht hinterlegt."
WkShL.Cells(lZeile, 2).Value = WkShE.Cells(1, 3).Value
End If
Workbooks("Makro-Liste.xls").Save
Workbooks("Makro-Liste.xls").Close
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Problem beim Öffnen einer Datei
10.11.2005 13:36:03
u_
Hallo,
da fehlt auf jeden Fall ein \
Workbooks.Open Filename:=strPath1 & strFile1
muss sein:
Workbooks.Open Filename:=strPath1 & "\" &strFile1
oder gleich so:
Const strPath1 As String = _
"C:\Documents and Settings\Rde14287x\Desktop\"
das kannst du dir sparen:
For lZeile = 2 To lLetzte
If WkShE.Range("D3").Value = WkShL.Range("A" & lZeile).Value Then
bGefu = True
Exit For
End If
Next lZeile
Kürzer:
bGefu=worksheetfunction.countif(WkShL.Range("A:A"),WkShE.Range("D3"))&gt0
Du suchst nach dem Wert in D3 und schreibst anschließend, wenn nicht gefunden, den aus C1 in die letzte Zeile?
Gruß
Geist ist geil!
Anzeige
AW: VBA - Problem beim Öffnen einer Datei
10.11.2005 14:28:04
Sebastian
Klappt!
Danke, u_! Und in der Tat: Geist iss was Gutes.
Gruß aus Berlin,
Sebastian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige