legatura date

Informatii despre cum se utilizeaza Microsoft Excel 2003. Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

legatura date

Mesaj de adof » Lun Aug 06, 2012 6:24 pm

sal
am combinat doua fisiere exel în unul singur
(am copiat paginile din unul în altul)

şi acum am o problemă MARE

paginile copiate aveau legaturi cu alte pagini din fisierul de unde am copiat paginile
am verificat APROAPE toate casuţele şi am înlocuit formulele
am verficat şi Numele definite
DAR tot ma întreaba la deschidere fişier dacă sunt de acord sa scrie dataele din fişierul din care am copiat paginile

cum pot sa îmi dau seama unde sunt celulele cu legaturi în celelalt fişier
pt a le înlocui sau a le şterge

multumesc

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: legatura date

Mesaj de IPP » Lun Aug 06, 2012 6:50 pm

Buna ziua

Configurati fereastra de Find ca in poza si, apasand butonul Find All se genereaza o lista cu celulele (si localizarea lor) ce contin linkuri. Pentru comoditate am folosit aceeasi poza.

Mai exista varianta de stergere a linkurilor folosind macro sau un add-inn propus de Microsoft aici dar personal, n-am folosit niciuna dintre variantele acestea. Eu recomand evitarea linkurilor in interiorul unui fisier si mai ales intre fisiere Excel

IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: legatura date

Mesaj de adof » Mar Aug 07, 2012 5:27 pm

sal

a funcţionat

mersi mult


am alta problema

cum gasesc o referinţă circulară daca datele(formulele) care intra în referinţa circulara sunt în pagini diferite

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: legatura date

Mesaj de IPP » Mie Aug 15, 2012 3:16 pm

Buna ziua

Referinta circulara priveste celula care este implicata intr-o formula atat in calitate de argument (referinta) cat si de rezultat, simultan. Cu alte cuvinte daca scrieti o formula in A3 iar valoarea din A3 se regaseste in sintaxa formulei pe care tocmai ati scris-o acolo, se va ajunge in situatia de referinta circulara. Tot atunci ar trebui sa apara automat si o bara numita Circular Reference care va poate ajuta sa gasiti celula-problema.
Daca, dintr-un motiv sau altul acea bara de instrumente nu este vizibila poate fi afisata ca oricare alta din View-Toolbars-
Acolo se poate afisa (exista o lista de tip drop down) celula (si pagina daca in momentul respectiv dvs aveti selectata o alta pagina fata de locul unde se afla celula cu pricina), asadar ceva de genul: $A$3 respectiv Sheet1!$A$3. Exista pe acea bara butoane pentru a evidentia celulele care sunt implicate
Daca aveti mai multe celule in situatia asta, dupa ce veti fi rezolvat formula din celula afisata anterior in lista respectiva va aparea adresa alteia cu probleme.... si tot asa.

Daca aveti afisat in fisier si Status Bar, veti vedea si o informatie de genul "Circular" daca exista o astfel de problema in fisier dar dvs. aveti selectat in acel moment o foaie care nu are astfel de problema, respectiv "Circular: A3"

In afara de situatii pur accidentale si in care e bine sa se rezolve problemele pe loc, pentru mine aparitia unor astfel de probleme inseamna echivalentul unei organizari defectoase a informatiei in care, pentru aducerea unui rezultat se face abuz de "formule" de genul =ReferintaCelula (+folosirea de adrese relative/absolunte in mod defectuos) combinata cu copieri, sortari. Am avut o experienta cu asa ceva acum multi ani de zile si concluzia mea a fost: "mai bine, daca sti exact despre ce e vorba, refa de la bun inceput toate formulele din fisier decat sa cauti celule probleme, celulele dependente si precedente pentru ca in final sa... refaci formulele pentru ca tot vor trebui refacute)

IP

Catalin B.
Moderator
Moderator
Mesaje: 813
Membru din: Vin Sep 09, 2011 4:05 pm
Localitate: Iaşi

Re: legatura date

Mesaj de Catalin B. » Joi Aug 16, 2012 8:08 am

Mai sunt situatii in care apare eroarea de referinta circulara, dar formulele sunt corect introduse. De exemplu, in cadrul unui total, daca una din casetele ce compun totalul contine o formula ce calculeaza un procent din acelasi total, va apare eroarea de referinta circulara. In acest caz, daca este necesar acest tip de calcul, trebuie intrat in Optiuni si activat calculul iterativ, pentru ca excel sa poata face acest calcul. Eroarea de referinta circulara nu va mai fi afisata daca este activat calculul iterativ.
Intrebare: de ce ai deschis acest subiect la sectiunea VBA? Deocamdata nu vad nici o referire la VBA in subiect si in raspunsuri...
L.E:
Cu titlu informativ, deoarece problema a fost rezolvata de IPP, atunci cand se copiaza o foaie de lucru ( care contine link-uri catre alta foaie de lucru din acelasi fisier) dintr-un fisier in altul, automat se pastreaza in formule o referinta catre foaia in cauza din fisierul sursa. Sunt mai multe optiuni , in functie de necesitati: in fisierul in care s-a copiat foaia de lucru, din meniul Edit-->Links (office 2003) sau tab-ul Data-->Edit Links (2007-2010) apare o fereastra de gestionare link-uri; o varianta este sa apasati butonul Change links si sa navigati catre fisierul in care s-a copiat foaia de lucru , il selectati si confirmati cu OK; in acest fel, legaturile externe dispar, devin link-uri interne, in cadrul aceluiasi fisier (cu conditia sa existe foaia sursa cu aceeasi denumire si in fisierul in care se copiaza foaia de lucru, altfel nu se poate face mutarea link-urilor, apare eroare de referinta invalida).
O a doua varianta este sa utilizati butonul Break links din aceeasi fereastra de gestionare link-uri, care va inlocui legaturile externe cu valoarea existenta (similar cu Copy-->Paste Values)

O sa-mi permit sa-l contrazic pe colegul IPP, cu scuzele de rigoare, in ce priveste utilizarea link-urilor. Eu utilizez foarte mult acest sistem de lucru, am instruit colegii de birou in ce priveste utilizarea conexiunilor externe, iar acum se utilizeaza zilnic acest sistem, chiar de operatori cu foarte putine cunostinte de office, cu mare precizie si eficienta in ce priveste timpul castigat, iar documentele oficiale rezultate sunt intocmite corect si pentru un numar mare de persoane in timp scurt... Expertii din agentiile la care ajung dosarele intocmite de noi se bucura cand ajung la ei la procesare ca sunt clare, corecte si au mai putin de muncit la ele... In concluzie, daca se cunosc BINE avantajele si dezavantajele link-urilor, devin un instrument cu adevarat puternic de lucru.
Probleme să fie, că soluţii se găsesc...

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: legatura date

Mesaj de adof » Vin Aug 17, 2012 12:54 pm

multumesc

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: legatura date

Mesaj de adof » Vin Mai 23, 2014 11:53 am

sal
am un fisier din care am copiat mai demult ceva date

am încercat varianta cu cautare " [ "dar nu a funcţionat

dar în meniul Editare-Legaturi îm apare fisierul la care este legat fisierul meu şi este setat pe actualizare automată

cum gasesc ce date sunt legate ?

Catalin B.
Moderator
Moderator
Mesaje: 813
Membru din: Vin Sep 09, 2011 4:05 pm
Localitate: Iaşi

Re: legatura date

Mesaj de Catalin B. » Vin Mai 23, 2014 12:06 pm

Ruleaza codul ListExternalFormulaReferences, o sa apara un Sheet nou -Link List, cu toate detaliile.

Cod: Selectaţi tot

Sub ListExternalFormulaReferences()
Dim ws As Worksheet, TargetWS As Worksheet, SourceWB As Workbook
    If ActiveWorkbook Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    With ActiveWorkbook
        On Error Resume Next
        Set TargetWS = .Worksheets.Add(Before:=.Worksheets(1))
        If TargetWS Is Nothing Then ' the workbook is protected
            Set SourceWB = ActiveWorkbook
            Set TargetWS = Workbooks.Add.Worksheets(1)
            SourceWB.Activate
            Set SourceWB = Nothing
        End If
        With TargetWS
            .Range("A1").Formula = "Sequence"
            .Range("B1").Formula = "Cell"
            .Range("C1").Formula = "Formula"
            .Range("A1:C1").Font.Bold = True
        End With
        For Each ws In .Worksheets
            If Not ws Is TargetWS Then
                ListLinksInWS ws, TargetWS
            End If
        Next ws
        Set ws = Nothing
    End With
    With TargetWS
        .Parent.Activate
        .Activate
        .Columns("A:C").AutoFit
        On Error Resume Next
        .Name = "Link List"
        On Error GoTo 0
    End With
    Set TargetWS = Nothing
    Application.ScreenUpdating = True
End Sub

Private Sub ListLinksInWS(ws As Worksheet, TargetWS As Worksheet)
Dim cl As Range, cFormula As String, tRow As Long
    If ws Is Nothing Then Exit Sub
    If TargetWS Is Nothing Then Exit Sub
    Application.StatusBar = "Finding external formula references in " & _
        ws.Name & "..."
    For Each cl In ws.UsedRange
        cFormula = cl.Formula
        If Len(cFormula) > 0 Then
            If Left$(cFormula, 1) = "=" Then
                If InStr(cFormula, "[") > 1 Then
                    With TargetWS
                        tRow = .Range("A" & .Rows.Count).End(xlUp).Row + 1
                        .Range("A" & tRow).Formula = tRow - 1
                        .Range("B" & tRow).Formula = ws.Name & "!" & _
                            cl.Address(False, False, xlA1)
                        .Range("C" & tRow).Formula = "'" & cFormula
                    End With
                End If
            End If
        End If
    Next cl
    Set cl = Nothing
    Application.StatusBar = False
End Sub
Probleme să fie, că soluţii se găsesc...

adof
Mesaje: 466
Membru din: Mie Iul 14, 2010 12:42 pm
Localitate: Sibiu

Re: legatura date

Mesaj de adof » Joi Mai 29, 2014 9:27 am

am folosit codul
a creat pagina si coloanele
dar nu a gasit nimic
dar în meniul Editare-Legaturi tot îmi apare
atasez poza
multumesc
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Catalin B.
Moderator
Moderator
Mesaje: 813
Membru din: Vin Sep 09, 2011 4:05 pm
Localitate: Iaşi

Re: legatura date

Mesaj de Catalin B. » Joi Mai 29, 2014 1:20 pm

Verifica si lista de nume definite, probabil ca ai si nume definite cu range-uri din alte fisiere.
Probleme să fie, că soluţii se găsesc...

Închis

Înapoi la “Intrebari despre Excel 2003”