Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Problem im Programm

Forumthread: Problem im Programm

Problem im Programm
Uppe
Hallo Experten,
ich habe ein Programm geschrieben, welches Informationen über Dateien aus dem Filesystem in eine Exceldatei einfügt.
Unter anderem den Namen der Datei und eine Gültigkeitsliste
With ThisWorkbook.Worksheets(strBlatt)
i = 1 + .Cells(Rows.Count, 9).End(xlUp).Row
...
'Dateiname
.Cells(i, 9) = Split(varName.Path, "\")(UBound(Split(varName.Path, "\")))
...
'Gültigkeit Service
.Range("A" & i).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Indirect(""Services!$A$10:$A$15"")"
...
Funktioniert wie gewünscht. Nun möchte ich noch einen Hyperlink auf die Datei auf den Dateinamen legen.
Dazu habe ich die Zeile
.Hyperlinks.Add Anchor:=.Cells(i, 9), Address:=varName.Path
nach dem Eintrag des Dateinamens eingefügt. Das setzen des Hyperlinks und das Füllen weiterer Zellen funktioniert, aber bei der Gültigkeitsliste bricht Excel mit "Anwendungs- oder objektdefinierter Fehler" ab. Wenn ich mit F8 fortsetze - kein Problem.
Was müsste ich ändern, damit der Code ohne Pause durchläuft?
Danke und Gruß
Uppe
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Problem im Programm
22.02.2011 21:08:09
Nepumuk
Hallo,
soweit mir bekannt wollen Gültigkeit und bedingte Formatierung im deutschen Excel auch deutsche Formeln. Also: INDIREKT
Gruß
Nepumuk
AW: Problem im Programm
23.02.2011 09:45:01
Uppe
Hallo Nepumuk,
daran liegt es nicht. Das Programm läuft ja weiter, wenn ich F8 drücke oder den Hyperlink rausnehme.
INDIREKT geht auf Fehler.
Gruß Uppe
Anzeige
AW: Problem im Programm
24.02.2011 02:45:47
fcs
Hallo Uppe,
ich hab deine Code-Zeilen mal mit einem Test-Dateinamen getestet unter Excel 2007.
Der lief ohne Problem durch.
Probleme gibt es, wenn die Datei mit dem Makro zum Zeitpunkt der Anweisung für die Gültigkeitsliste nicht die aktive Arbeitsmappe ist. Dann funktioniert der Verweis auf Formula1:="=Indirect(""Services!$A$10:$A$15"")" ggf. nicht.
Evtl. ist es auch besser mit
With ActiveWorkbook.Worksheets(strBlatt)
zu arbeiten.
Das kann man aber nicht beurteilen ohne den Gesamt-Ablauf des Makros zu kennen.
Gruß
Franz
Anzeige
AW: Problem im Programm
24.02.2011 09:47:30
Uppe
Hallo Franz,
es ist nur die eine Arbeitsmappe aktiv während des Programms. Habe mit Activeworkbook probiert = selbes Problem.
Ich habe es jetzt mal mit Excel2003 und Excel2007 so

Sub test()
With Worksheets(1)
'Dateiname
.Range("A1") = "test"
.Hyperlinks.Add Anchor:=.Range("A1"), Address:="test"
.Range("C1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Indirect(""Tabelle2!$A$1:$A$15"")"
End With
End Sub

probiert. Auch da kommt der Fehler.
Gruß Uppe
Anzeige
Problem im Programm
24.02.2011 16:51:48
Anton
Hallo Uppe,
so vllt:
Code:

Sub test()
  With Worksheets(1)
    .Range("A1") = "test"
    .Range("C1").Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _  
      xlBetween, Formula1:="=Indirect(""Tabelle2!$A$1:$A$15"")"  
    .Hyperlinks.Add Anchor:=.Range("A1"), Address:="test"
  End With  
End Sub  


mfg Anton
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige