• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Draaitabel vinden in de werkbladen

Status
Niet open voor verdere reacties.

Omteleren

Gebruiker
Lid geworden
12 nov 2011
Berichten
162
Hoi,
Ik heb een draaitabel gemaakt, maar de bron is weg.
Ik heb zoveel tabbladen, zodat ik de draaitabel niet kan vinden.
De naam van de draaitabel is Draaitabel5.

Ik dacht dat ik naar deze naam toe kon springen via F5 'Ga naar', maar daar vind ik de desbetreffende draaitabel niet.

Ik weet dus waar de foutieve verwijzing zit, maar ik kan er niet naar toe.

Ik heb het al gevonden. Ik heb de foutieve draaitabel inmiddels al hard gemaakt en alles vernieuwen lukt weer.
Ik vind het wel jammer dat ik niet naar Draaitabel5 kan. Als iemand nog een oplossing weet, dan hoor ik het graag.
Ik ben gewoon alle draaitabellen gaan controleren en de bron hiervan.
 
Laatst bewerkt:
Als ik de vraag goed begrijp even deze code draaien

Code:
Sub VenA()
  For Each sh In Sheets
    For Each pt In sh.PivotTables
      c00 = c00 & sh.Name & " " & pt.Name & Chr(10)
    Next pt
  Next sh
  MsgBox c00
End Sub
 
Laatst bewerkt:
Hoi VenA,
Code vindt de eerste draaitabel, maar niet de foutieve bron.


Onderstaande code vindt in welke bron niet meer te vinden is. Ik kan het dus wel oplossen. Ik vind alleen jammer dat ik niet meteen naar de foutieve bron kan.
Bedankt voor je hulp. Ik kan de code helaas niet in quote zetten en ik weet dat dit wordt gewaardeerd op het forum. Ik ben een ervaren Excel gebruiker, die af en toe hulp vraagt.
Onderstaande code geeft alle verwijzingen die in het bestand staan.

Code:
Sub ListWebQueryPivotTableLinks()
    Dim wbA As Workbook, wsN As Worksheet, ws As Worksheet
    Dim pt As PivotTable, qt As QueryTable, R As Long, i As Long
    Dim vLnkSrc As Variant
    Const PROGCREATE As String = "Dit externe " & _
                                "gegevensbereik is met behulp van " & _
                                "programmacode gemaakt en kan niet worden bewerkt"
    On Error GoTo errHandler
    Set wbA = ActiveWorkbook
    Set wsN = Workbooks.Add(xlWorksheet).Worksheets(1)
    wsN.Name = wbA.Name
    wsN.Range("A1:E1").Value = Array("Name", "Location", _
            "Type", "Connection", "CommandText")
    wsN.Range("A1:E1").Font.Bold = True
    R = 1
    For Each ws In wbA.Worksheets
        For Each pt In ws.PivotTables
            R = R + 1
            With pt.PivotCache
                wsN.Cells(R, 1).Value = pt.Name
                wsN.Cells(R, 2).Value = ws.Name & "!" & _
                        pt.TableRange2.Address(False, False)
                Select Case .SourceType
                Case xlConsolidation
                    R = R - 1
                    For i = 1 To UBound(.SourceData)
                        R = R + 1
                        wsN.Cells(R, 1).Value = pt.Name
                        wsN.Cells(R, 2).Value = ws.Name & "!" & _
                                pt.TableRange2.Address(False, False)
                        wsN.Cells(R, 3).Value = _
                                "Draaitabel - Samenvoegingsbereik"
                        wsN.Cells(R, 4).Value = "'" & _
                                .SourceData(i, 1)
                        wsN.Cells(R, 5).Value = "n.v.t."
                    Next
                Case xlDatabase
                    wsN.Cells(R, 3).Value = "Draaitabel - Excel-lijst"
                    wsN.Cells(R, 4).Value = "'" & .SourceData
                    wsN.Cells(R, 5).Value = "n.v.t."
                Case xlExternal
                    If .OLAP Then
                        wsN.Cells(R, 3).Value = "Draaitabel - OLAP"
                        wsN.Cells(R, 4).Value = "'" & .Connection
                        wsN.Cells(R, 5).Value = .CommandText
                    ElseIf .QueryType = xlADORecordset Then
                        wsN.Cells(R, 3).Value = _
                                "Draaitabel - ADO-recordset"
                        wsN.Cells(R, 4).Value = PROGCREATE
                        wsN.Cells(R, 5).Value = "'" & .Recordset.Source
                    Else
                        wsN.Cells(R, 3).Value = _
                                "Draaitabel - Externe gegevens"
                        wsN.Cells(R, 4).Value = "'" & .Connection
                        wsN.Cells(R, 5).Value = .CommandText
                    End If
                Case xlScenario
                    wsN.Cells(R, 3).Value = "Draaitabel - Scenario"
                    wsN.Cells(R, 4).Value = "Gebaseerd op een scenario " & _
                            "in deze werkmap"
                    wsN.Cells(R, 5).Value = "n.v.t."
                End Select
            End With
        Next
        For Each qt In ws.QueryTables
            R = R + 1
            wsN.Cells(R, 1).Value = qt.Name
            wsN.Cells(R, 2).Value = ws.Name & "!" & _
                    qt.ResultRange.Address(False, False)
            Select Case qt.QueryType
            Case xlTextImport
                wsN.Cells(R, 3).Value = "Text importeren"
                wsN.Cells(R, 4).Value = "'" & qt.Connection
                wsN.Cells(R, 5).Value = "n.v.t."
            Case xlOLEDBQuery
                wsN.Cells(R, 3).Value = "Querytabel - OLEDB-query"
                wsN.Cells(R, 4).Value = "'" & qt.Connection
                wsN.Cells(R, 5).Value = "'" & qt.CommandText
            Case xlWebQuery
                wsN.Cells(R, 3).Value = "Webquerytabel"
                wsN.Cells(R, 4).Value = "'" & qt.Connection
                wsN.Cells(R, 5).Value = "n.v.t."
            Case xlADORecordset
                wsN.Cells(R, 3).Value = "Querytabel - ADO-recordset"
                wsN.Cells(R, 4).Value = PROGCREATE
                wsN.Cells(R, 5).Value = "'" & qt.Recordset.Source
            Case xlDAORecordset
                wsN.Cells(R, 3).Value = "Querytabel - DAO-recordset"
                On Error Resume Next
                wsN.Cells(R, 4).Value = "'" & qt.Recordset.Parent.Name
                If Err.Number <> 0 Then
                    wsN.Cells(R, 4).Value = PROGCREATE
                    Err.Clear
                End If
                wsN.Cells(R, 5).Value = "'" & qt.Recordset.Name
                If Err.Number <> 0 Then
                    wsN.Cells(R, 5).Value = PROGCREATE
                    Err.Clear
                End If
                On Error GoTo errHandler
            Case xlODBCQuery
                wsN.Cells(R, 3).Value = "Querytabel"
                wsN.Cells(R, 4).Value = "'" & qt.Connection
                wsN.Cells(R, 5).Value = qt.CommandText
            End Select

        Next
    Next
    vLnkSrc = wbA.LinkSources
    If Not IsEmpty(vLnkSrc) Then
        For i = 1 To UBound(vLnkSrc)
            R = R + 1
            wsN.Cells(R, 1).Value = "n.v.t."
            wsN.Cells(R, 2).Value = "n.v.t."
            wsN.Cells(R, 3).Value = "Koppelingsbron (Bewerken | Koppelingen)"
            wsN.Cells(R, 4).Value = vLnkSrc(i)
        Next
    End If
    wsN.Cells.WrapText = False
    wsN.Columns.AutoFit
    wsN.UsedRange.AutoFilter
    Exit Sub
errHandler:
    MsgBox "Er is een fout opgetreden." & vbCr & Err.Number & _
            vbCr & Err.Description
    Resume Next
End Sub
 
Laatst bewerkt:
Hoi VenA:

Bedankt voor de hulp. Je code werkt nu wel en geeft wel alle verwijzingen in Excel. De Bovenstaande code geeft in een nieuw werkblad ook alle verwijzingen.
Ik heb het opgelost en weer wat van geleerd. Bedankt voor je hulp.
Code:
 Sub VenA()
  For Each sh In Sheets
    For Each pt In sh.PivotTables
     c00 = c00 & sh.Name & " " & pt.Name & Chr(10)
    Next pt
  Next sh
  MsgBox c00
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan