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

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

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
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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige