Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
756to760
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
756to760
756to760
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe bei Code

Hilfe bei Code
30.04.2006 16:06:04
Jürgen
Hallo zusammen,
kann mir eventuell jemand bei diesem Code helfen? Habe in der Recherche einen Code gefunden, der externe Verknüpfungen des zweiten Tabellenblattes zu anderen Tabellen löscht. Jetzt habe ich ihn mir etwas erweitert, damit ich zum einen ein Tabellenblatt aussuchen kann und zum anderen ich nicht will, dass die Verknüpfungen gelöscht werden, sondern lediglich gelb gekennzeichnet, damit man sie sich vorher nochmal ansehen kann.
Aber irgendwie klappt das nicht. Er findet jetzt nur eine Verknüpfung, auch wenn mehrere vorhanden sind und es kommt die Meldung: Keine Verknüpfung gefunden, obwohl die eine gelb hinterlegt wird. Irgendwie habe ich hier einen Konflikt mit meinen MsgBoxen. Was mache ich falsch?

Private Sub CmdVerknüpfung_Click()
Dim intBlatt As Integer
Dim rng As Range
Dim strBlattname As String
Dim inty As Integer
inty = 0
intBlatt = Val(InputBox("Für das erste Blatt links bitte eine 1 eingeben usw.", "Eingabe"))
If intBlatt = 0 Or intBlatt > Worksheets.Count Then
MsgBox "Es wurde ein ungültiger Wert eingegeben." _
& vbCr & "Es ist nur eine Zahl erlaubt, die nicht größer als die Anzahl der vorhandenen Tabellenblätter ist.", 48
Exit Sub
Else
strBlattname = Worksheets(intBlatt).Name
For Each rng In Worksheets(intBlatt).UsedRange.Cells
If InStr(rng.Formula, "[") > 0 And _
InStr(rng.Formula, "]") > 0 Then
rng.Interior.ColorIndex = 6
Else
MsgBox "Das Tabellenblatt [" & strBlattname & "] enthält keine externen Verknüpfungen", 64
Exit Sub
End If
inty = inty + 1
Next rng
End If
MsgBox "Es wurden " & inty & " Zellen die externe Verknüpfungen beinhalten, gelb gekennzeichnet."
End Sub

Danke für einen Tipp
Gruß Jürgen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe bei Code
30.04.2006 16:24:14
Nepumuk
Hallo Jürgen,
so besser?
Option Explicit

Private Sub CmdVerknüpfung_Click()
    Dim intBlatt As Integer
    Dim rng As Range
    Dim inty As Integer
    intBlatt = Val(InputBox("Für das erste Blatt links " & _
        "bitte eine 1 eingeben usw.", "Eingabe"))
    If intBlatt = 0 Or intBlatt > Worksheets.Count Then
        MsgBox "Es wurde ein ungültiger Wert eingegeben." _
            & vbCr & "Es ist nur eine Zahl erlaubt, die nicht größer " & _
            "als die Anzahl der vorhandenen Tabellenblätter ist.", 48
        Exit Sub
    Else
        For Each rng In Worksheets(intBlatt).UsedRange
            If InStr(rng.Formula, "[") > 0 And _
                InStr(rng.Formula, "]") > 0 Then
                rng.Interior.ColorIndex = 6
                inty = inty + 1
            End If
        Next rng
    End If
    If inty <> 0 Then
        MsgBox "Es wurden " & inty & " Zellen die externe " & _
            "Verknüpfungen beinhalten, gelb gekennzeichnet."
    Else
        MsgBox "Das Tabellenblatt [" & Worksheets(intBlatt).Name & _
            "] enthält keine externen Verknüpfungen", 64
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Hilfe bei Code
30.04.2006 16:31:01
Jürgen
Hallo Nepumuk,
PERFEKT :-)))
Jetzt muss ich erst mal gucken, was ich mir da wieder für einen Blödsinn zusammengeschraubt habe.
Danke nochmals.
Gruß Jürgen
AW: Hilfe bei Code
30.04.2006 16:30:44
Franz
Hallo Jürgen,
wenn ich alles richtg verstanden hab, dann muss der Code so aussehen.

Private Sub CmdVerknüpfung_Click()
Dim intBlatt As Integer
Dim rng As Range
Dim strBlattname As String
Dim inty As Integer
inty = 0
intBlatt = Val(InputBox("Für das erste Blatt links bitte eine 1 eingeben usw.", "Eingabe"))
If intBlatt = 0 Or intBlatt > Worksheets.Count Then
MsgBox "Es wurde ein ungültiger Wert eingegeben." _
& vbCr & "Es ist nur eine Zahl erlaubt, die nicht größer als die Anzahl der vorhandenen Tabellenblätter ist.", 48
Exit Sub
Else
strBlattname = Worksheets(intBlatt).Name
For Each rng In Worksheets(intBlatt).UsedRange.Cells
If InStr(rng.Formula, "[") > 0 And InStr(rng.Formula, "]") > 0 Then
rng.Interior.ColorIndex = 6
inty = inty + 1
End If
Next rng
End If
If inty = 0 Then
MsgBox "Das Tabellenblatt [" & strBlattname & "] enthält keine externen Verknüpfungen", 64
Else
MsgBox "Es wurden " & inty & " Zellen die externe Verknüpfungen beinhalten, gelb gekennzeichnet."
End If
End Sub

Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige