Anzeige
Archiv - Navigation
1048to1052
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

Code läuft nicht bei "Mappe freigeben"

Code läuft nicht bei "Mappe freigeben"
07.02.2009 18:49:34
Wolfgang
Hallo,
der untenstehende Code wurde mir aus dem Forum (ich weiß leider nicht mehr, von wem) zur Verfügung gestellt. Er läuft auch grundsätzlich super und ohne Probleme. Nun habe ich aber die Arbeitsmappe im Rahmen der Vernetzung freigegeben und der Code läuft nicht mehr. Gäbe es eine Möglichkeit, den Code irgendwie anzupassen, damit er auch bei Arbeitsmappe freigeben läuft. Gäbe es andernfalls Alternativen? - Erreicht werden soll, dass überprüft werden soll, ob Datensätze in der Tabelle Daten doppelt vorhanden sind. Kriterium sein sollen Spalte C und E; - Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang

Sub compareRanges()
Dim objWsA As Worksheet, objWsB As Worksheet
Dim rngA As Range, rngB As Range
Dim strA As String, strB As String, strSheet As String
Dim lngRow As Long, lngIndex As Long
Dim varRes As Variant
Application.ScreenUpdating = False
Sheets("Daten").Select
Columns("I:I").Select
Selection.ClearContents
Do
strSheet = "Daten"
If strSheet = "" Then Exit Sub
If SheetExist(strSheet) Then Exit Do
Loop
Set objWsA = Sheets(strSheet)
Do
strSheet = "Daten"
If strSheet = "" Then Exit Sub
If SheetExist(strSheet) Then Exit Do
Loop
Set objWsB = Sheets(strSheet)
Set rngA = objWsA.Range("C2:E" & Application.Max(objWsA.Cells(Rows.Count, 5).End(xlUp).Row,  _
2))
Set rngB = objWsB.Range("C2:E" & Application.Max(objWsB.Cells(Rows.Count, 5).End(xlUp).Row,  _
2))
For lngIndex = 1 To rngB.Columns.Count
strB = strB + rngB.Parent.Name & "!" & rngB.Columns(lngIndex).Address & "&"
Next
strB = Left(strB, Len(strB) - 1)
For lngRow = 1 To rngA.Rows.Count
strA = ""
For lngIndex = 1 To rngA.Columns.Count
strA = strA + rngA.Parent.Name & "!" & rngA.Cells(lngRow, lngIndex).Address & "&"
Next
strA = Left(strA, Len(strA) - 1)
If objWsA Is objWsB Then
varRes = Evaluate("SUM(N(" & strB & "=" & strA & "))")
If varRes >= 2 Then
varRes = Evaluate("MATCH(" & strA & "," & strB & ",0)")
Else
varRes = ""
End If
Else
varRes = Evaluate("MATCH(" & strA & "," & strB & ",0)")
End If
If IsNumeric(varRes) Then
rngA.Parent.Hyperlinks.Add _
Anchor:=rngA.Cells(lngRow, rngA.Columns.Count).Offset(0, 4), _
Address:="", _
SubAddress:=rngB.Parent.Name & "!" & rngB.Rows(varRes).Address, _
TextToDisplay:="Datensatz doppelt!"
End If
Next
Set objWsA = Nothing
Set objWsB = Nothing
Set rngA = Nothing
Set rngB = Nothing
Range("A1").Select
Application.ScreenUpdating = True
End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code läuft nicht bei "Mappe freigeben"
08.02.2009 12:23:00
Leonhard
Hallo Wolfgang,
Ich lasse die Frage schon mal von vornherein offen, denn ich denke mal, dass du schon überprüft hast, ob den die Einstellungen an den Rechnern für die Makrosicherheit so gewählt sind, dass die Makros aktiviert werden können.
Gruß Leo
AW: Code läuft nicht bei "Mappe freigeben"
08.02.2009 17:17:00
Wolfgang
Hallo Leo,
Danke für Deine Rückmeldung und Deinen Hinweis; in der Mappe befinden sich noch weitere Codes, die soweit auch laufen. Ich habe eben auch noch weiter hin und hergetestet, komme aber noch auf keinen grünen Zweig. Vielleicht mag es ja noch auch eine ganz andere Möglichkeit geben. Danke nochmals.
Gruß - Wolfgang
Kann Problem i. Hyperlink liegen?
09.02.2009 06:16:00
Wolfgang
Hallo,
ich habe versucht, über Debugger einzugrenzen; Problem ist ja nur, dass das nur bei Mappe geht, die nicht freigegeben ist. Bei Freigabe erscheint immer ein Fehlermeldung "Laufzeitfehler 1004", "Anwendungs- oder objektdefinierter Fehler"; Wie müßte der Code geändert werden, wenn z.B. nur die Schrift "Daten doppelt" erscheinen soll oder evtl. eine andere Alternative (Zelle markieren o.ä.) erscheinen soll, um auf den Doppeldatensatz zu verweisen. Ich hätte nämlich das Gefühl, dass das Problem evtl. im Hyperlink liegt. Der Code läuft nämlich soweit und aktiviert auch noch die Spalt I, dann ist Schluss. Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
Anzeige
AW: Kann Problem i. Hyperlink liegen?
09.02.2009 15:14:00
Holger
Hi,
schau dir mal in der Hilfe an, welche Funktionalitäten in freigegebenen Mappen
nicht gegeben sind.
mfg Holger

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige