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

Range für das Objekt ... fehlgeschlagen

Range für das Objekt ... fehlgeschlagen
18.11.2014 11:18:36
Michael
Hallo,
noch immer habe ich Probleme mit meiner kleinen Excel-Datei und den beiden Schleifen.
Ich hatte Ende letzter Woche schon einen Beitrag dazu geschrieben, nur kann ich -aus mir nicht bekannten Gründen- da nicht mehr weiterschreiben.
Hier die Datei:
https://www.herber.de/bbs/user/93847.xls
Ziel ist es, dass ich eine PDF öffnen kann, deren Pfad in Zelle B1 steht.
"Gesucht" werden soll nach einer PDF, die mit einen der 4 Ländernamen beginnt und einen der 4 Zusätze hat, z.B. DeutschlandA, ChinaD, USAC (...).
Ich habe den Code schon so umgestellt, wie in dem alten Thread von euch angemerkt, nur kommt nun die Meldung:
Range für das Objekt ... fehlgeschlagen.
For i = 2 To 4
Land = Range("2" & i)
heißt doch, das die "Komponente "Land"" aus dem Bereich Zeile 2 und Spalte "variabel" zusammen gestellt wird, wobei die Variable 2 bis 4 ist, also spalte 2 bis 4 bzw. B bis D.
Oder liege ich da komplett falsch?
Schon jetzt einen Dank an alle Helfer.
hier der komplette (fehlerhafte) Code:
#If Win64 Then
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As LongPtr) As LongPtr
Private Declare PtrSafe Function GetDesktopWindow Lib "user32" () As LongPtr
#Else
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As _
String, ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
#End If

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lngR As Long
Dim lngC As Long
lngR = ActiveCell.Row
lngC = ActiveCell.Column
If IsDate(Range(Cells(lngR, lngC), Cells(lngR, lngC))) = True Then Call plan01
End Sub

Private Sub plan01()
Dim lngR As Long
Dim lngC As Long
lngR = ActiveCell.Row
lngC = ActiveCell.Column
For i = 2 To 4 'Variable ist von (Spalte) 2 bis 4
For j = 2 To 4 'Variable ist von (Spalte) 2 bis 4
Pfad = Range("B1")
Land = Range("2" & i) 'Land wir ermittelt aus Zeile 2 und Spalte i (variabel)
Zusatz = Range("3" & j) 'Land wir ermittelt aus Zeile 3 und Spalte j (variabel)
xxx = "" & Pfad & "\" & Land & Zusatz & ".pdf"
If Dir(xxx) "" Then
ShellExecute 0, "open", xxx, "", "", SHOWMAXIMIZED
End If
Next j
Next i
End Sub
Michael

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
nicht Range("2" & i) ... sondern Cells(2,i) oT
18.11.2014 11:31:24
Matthias
Anzeige

98 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige