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

Code läuft nicht bei "Mappe freigeben"

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


Anzeige

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

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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