Avatar billede Nicogr Novice
26. januar 2017 - 10:23 Der er 7 kommentarer og
1 løsning

VBA - referance til celle i aktivt sheet

Hej

Jeg søger hjælp til en makro som tager fx. celle A1 fra mit aktive sheet og laver denne som referance til et fast sheet fx. Sheet1.

Således at når jeg ændre værdierne i cellerne A1 på mine forskellige sheets, vil værdierne også ændre sig på sheet1 (min oversigt).

Jeg tænker at benytte denne makro, men jeg ved ikke hvordan man kan ændre sheet6 til activt sheet.

    ActiveCell.FormulaR1C1 = "=Sheet6!RC"

På forhånd tak
Avatar billede Daffodil Professor
26. januar 2017 - 13:22 #1
Du kan bruge følgende formel til opdatering af dit ark.

='Ark2'!A1

Hvis du skal have celle A1 i Ark1 til at hente værdien i celle A1 i Ark2.
Du starter bare med et "=" tegn i den celle der skal have data fra andre ark og laver det som en almindelig formel. Afslut med ENTER
Avatar billede Nicogr Novice
26. januar 2017 - 15:20 #2
Det er en del af en større makro. Så denne løsning går desværre ikke. Min makro opretter et nyt sheet med et nyt sheetnavn (efter mit valg). I dette nye sheet kan jeg ændre forskellige værdier, som jeg gerne vil refererer over til et sheet med oversigt. Således jeg i hver nye række i oversigten har et sheetnavn og dens tilhørerende værdier i de efterfølgende kolonner.

Det nye sheet med værdier skal først ligges over i oversigten når jeg ønsker det. Jeg kan ende med flere 100'rede sheet så vil gerne have en makro som blot sætter disse værdier ind på næste række i oversigten. Jeg kan godt få værdierne i i oversigten, men de refererer ikke tilbage til deres specifikke sheets. Så når jeg ændre værdierne, så ændre de ikke i oversigten.
Avatar billede excelent Ekspert
26. januar 2017 - 18:26 #3
Sheets("Oversigt_").Cells(Cells(65536, "A").End(xlUp).Row, "A").Formula = "='" & ActiveCell.Parent.Name & "'!" & ActiveCell.Address

Ovenstående er 1 kodelinje

Opretter en formel i ark Oversigt_ med reference til aktive ark/celle
Avatar billede Nicogr Novice
27. januar 2017 - 15:41 #4
Mit problem som eksempel:

Dim tal As String
tal = Range("a1")

Sheet13.Select
Range("a1") = tal

Når jeg skrifter tal på det sheet jeg har kørt makro på, skrifter tallet ikke på sheet13. Derfor vil jeg gerne istedet lave en referance.
Avatar billede excelent Ekspert
27. januar 2017 - 20:03 #5
Det må du lige forklare med et andet eks. hvor det tydeligt fremgår hvad du gør
Avatar billede Nicogr Novice
28. januar 2017 - 08:42 #6
Jeg ønsker en makro som gør, at når jeg kører makroen på et bestemt sheet, så overfører den eksempelvis værdien i celle A1 på sheet6 til celle A1 på sheet13. Hvis jeg kører den makro, der står anført i min forrige kommentar på sheet6 og celle A1=3, skal celle A1=3 på sheet13. Mit problem er, at når jeg ændrer værdien fra fx 3 til 5 i celle A1 på sheet6, ændrer værdien sig ikke på sheet13. Derfor ønsker jeg en reference til cellen, således at den skifter tallet automatisk på sheet13, hvis tallet skifter på sheet6.

Ovenstående skal bruges i en større makro, så når jeg kører makroen på et sheet, finder den næste ledige række på sheet13 og indsætter mine værdier i de tilhørende kolonner. (denne del er dog kodet). Så det er blot det, at jeg ikke ved hvordan man laver en reference til et aktivt sheet.
Avatar billede Jan Hansen Ekspert
28. januar 2017 - 09:49 #7
Mon dette ikke kan bruges?

Option Explicit
Dim ws As Worksheet, wsAktiv As Worksheet
Dim rA As Range, rB As Range
Sub test()
    Set ws = Sheets("Ark13")
    Set wsAktiv = ActiveSheet
   
    Set rA = wsAktiv.Range("A1")
    Set rB = ws.Range("A1")
   
    rB.Formula = "=" & wsAktiv.Name & "!" & rA.Address
End Sub
Avatar billede Nicogr Novice
31. januar 2017 - 15:49 #8
Mange tak Jan :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel