jeg har lavet et regneart til at slå hurtigt op i nogle dataark,men jeg har et problem.
jeg har 2 ark og jeg vil gerne have at celle N3 i ark et viser det samme som N3 i ark 2 og omvent.
så hvis jeg vælger at skrive i 'Ark1!N3' så viser 'Ark2!N3' det samme og vælger jeg bagefter at gå ind i 'Ark2!N3' og skiver en værdi så viser 'Ark1!N3' det samme.
Du laver reelt hvad der kan kaldes en cirkulær reference, den ene celle er afhængig af den anden. Jeg vil foreslå at en celle ved siden af er hvad der står i det andet ark, og så kan du arbejde med hvilket resultat du helst vil "stole" på i en 3. celle.
Problemet er, at du kæder sammen med en formel, fx Ark!!3 = Ark2!N3 og omvendt, men når du taster i det ene ark, vil du overskrive formlen, og så virker det ikke mere.
Enten brug en hjælpecelle eller brug en VBA løsning.
Du kan lægge denne kodei Ark2s modul
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("n3")) Is Nothing Then Sheets("Ark1").Range("N3").Value = Target.Value End If End Sub
og denne i ark1's
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("n3")) Is Nothing Then Sheets("Ark2").Range("N3").Value = Target.Value End If End Sub
det vil sige at jeg brugte den i mit regneark og alt var lækkert. gemte arket med aktive makroer og overførte over til en anden pc og åbner, og så fucker det helt op.
når jeg åbner excel-arket på den anden computer så skriver den ikke det samme i begge felter, samtidig hvis jeg prøver at trykke på N3 i det ene ark for at skrive så hopper den ned til feltet under eller over (det er lidt forskelligt). sidst men ikke mindst kan jeg ikke lukke programmet med mindre jeg fjerner makeringen af beggeN3 og prøver at lukke 4-5 gange.
Prøv at lade koden i Ark1 være som ovenfor, og prøv så denne i Ark2
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(Target, Range("n4")) Is Nothing Then Sheets("Ark1").Range("N3").Value = Target.Offset(-1, 0).Value End If End Sub
#13: Mine indvendinger: Jeg tror, at et regneark, der bare ændrer indtastede data, kan forvirre mere end det gavner. Desuden er der stor chance for, at noget går galt - makro deaktiveres - celler flyttes...
Mit løsningsforslag: To indtastningsceller (B2 og B3). To celler med anvendte værdier (C2 og C3). En infocelle (C1).
C2: =IF(C1="";IF(ISBLANK(B2);B3;B2);"")
C3: =IF(C1="";IF(ISBLANK(B2);B3;B2);"")
C1: =IF(AND(ISBLANK(B2);ISBLANK(B3));"<input a value in B1 or B2";IF(NOT(XOR(ISBLANK(B2);ISBLANK(B3)));"<only value in one of the cells B1 and B2>";""))
Alle formler i resten af arket, skal bruge C2/C3.
Fordelen er, at det er mere transparent for brugeren, hvad der sker, og arket virker, uden event makroer (hvilket jeg synes er en stor fordel).
Så i mener, når makro koden er lagt ind, og virker, så er der større risiko, for at der ved en fejl, bliver ændret på denne kode? End der er risiko, for ved en fejl at ændre/slette i de 3 formler :-)
#18 j store-morten: Min indvendig var at det vil forvirre brugeren ved at opføre sig anderledes end et almindeligt regneark.
Desuden større risiko for fejl - tror du har ret i, at risikoen ikke ligger i ændringer af koden. Hvis der fx indsættes rækker eller kolonner eller celler flyttes eller hvis makroer er deaktiveret, så virker det ikke.
Der er også risiko ved formel løsningen, men den er der allerede i alle regneark, og er ikke øget ved denne løsning. Vi må have styrmanden på banen
Begge dele kan man godt beskytte sig mod - mere arbejde.
Bortset fra det, så ved vi ikke noget om hvem og hvor mange der skal bruge arket.
jeg endte med at lave en ny opslag formel så de to celler der skulle vise det samme nu arbejder hver for sig. tak for al responsen. mange gode bud, JAN K's løsning virkede som sagt på en PC og ikke den anden så det var tæt på en løsning. jeg nåede ikke at teste de andre. beklager sent svar, nettet er ikke super ombord på et skib
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.