Avatar billede lingo Nybegynder
27. april 2006 - 14:48 Der er 18 kommentarer og
1 løsning

Ekstra henvisninger i VBA..

Henviser først til spg. http://www.eksperten.dk/spm/705650#rid6230892
hvor hele programmeringen ligger.

Fra del 3, hvor der er indsat et navn i række a (første ledige kolonne), skal der hentes oplysninger fra det nye indsatte ark. De skal ligge i kolonne 3 svarende til navnet, som ligger i række 1. Hovedsiden bliver brugt som oversigt, og i det seperate ark bliver tallene til hovedsiden lagt sammen, så de skal bare hentes.

Eks.:
Navn: test
Makro fra tidligere spørgsmål køres, og der kommer et nyt ark med navnet test. Der skrives også i første ledige række navnet test. Nu skal der altså også hentes et tal fra test (som også blevet indsat undermakroen). Dette tal vil løbende ændre sig så hovedsiden skal opdatere fra dette felt.

Hvordan får jeg refereret dette talt når jeg kører makroen?

Gerne med lidt forklaring, så jeg selv kan tilføje flere tal..

Mange tak
Avatar billede excelent Ekspert
27. april 2006 - 15:23 #1
hvor i det nye ark er tallet, og hvor i hovedsiden skal det indsættes?
Avatar billede lingo Nybegynder
27. april 2006 - 15:28 #2
I det nye ark ligger den første værdi i d43, og skal indsættes under navnet som vi indsætter med makronen du lavede tidligere (det blev indsat på første ledige plads i række 1 og nu er det så række 3.
Der er flere værdier, og derfor ville jeg gerne have en meget kort forklaring på hvordan jeg kan tilføje disse... :o)
Avatar billede excelent Ekspert
27. april 2006 - 15:34 #3
hvis jeg forstår dig ret, skal tal i ny ark i celle d43 indsættes i ark hovedsiden
i samme kolonne som navnet, men i række 3 - er det ret forstået :-) ?
Avatar billede lingo Nybegynder
27. april 2006 - 15:43 #4
Yes... Lige præcis :)
Avatar billede lingo Nybegynder
27. april 2006 - 15:44 #5
Jeg kan sende dig arket på mail, hvis det hjælper?
Avatar billede excelent Ekspert
27. april 2006 - 15:48 #6
Sub Makro7()
   
Dim x As Worksheet
   
    Sheets("Orginal").Select
    Range("A1:F47").Select
    Range("F47").Activate
    Selection.Copy
    Set x = Worksheets.Add(after:=Sheets(Worksheets.Count))
    x.Name = Sheets("Hovedside").[b15]
    ActiveSheet.Paste
    [a1] = Sheets("Hovedside").[b15]
    Columns("E:E").EntireColumn.AutoFit
    Columns("F:F").EntireColumn.AutoFit
    Columns("F:F").ColumnWidth = 20.86
    Range("A1").Select
    Sheets("Hovedside").Select
    If [a1] = "" Then
    [a1] = [b15]
    Else
    Range("a1").Range("iv1").End(xlToLeft).Offset(0, 1).Select
    ActiveCell = [b15]
    ActiveCell.Offset(2, 0).Value = Sheets(ActiveCell.Value).[d43]
    [b15] = ""
    End If
End Sub
Avatar billede excelent Ekspert
27. april 2006 - 15:49 #7
prøv lige denne, spørg hvis du ønsker forklaring til ændringen
Avatar billede lingo Nybegynder
27. april 2006 - 15:58 #8
Den tager en værdi, om det er den rigtige ved jeg ikke. Den opdaterer i hvertfald ikke værdien, når den ændres!
Avatar billede lingo Nybegynder
27. april 2006 - 15:58 #9
Placeringen er rigtig, skal jeg da lige sige
Avatar billede excelent Ekspert
27. april 2006 - 16:00 #10
hmm er ikke helt med på hvad du mener så
du må gerne sende filen til pm@madsen.tdcadsl.dk
Avatar billede excelent Ekspert
27. april 2006 - 16:18 #11
tilsyneladende virker det ok, område a1:f47 i ark Orginal kopieres og indsættes i det nye ark, og da celle d43 har værdien 0 i orginal bliver den jo også 0 i det nye ark, og derfor også i række 3 i Hovedsiden.

hvad mener du med opdateret?
Avatar billede excelent Ekspert
27. april 2006 - 16:52 #12
er tilbage om ca. 2 timer
Avatar billede lingo Nybegynder
27. april 2006 - 17:40 #13
Værdien er rigtig nok 0 når det starter, men denne værdi ændrer sig jo løbende, og det er der den gerne skulle opdatere det på forsiden. I min test ændrede det sig ikke til trods for at tallet i det nye ark ændrede sig.

Jeg er desværre ikke på mere i dag, men er der straks igen i morgen tidlig.. Mange tak indtil videre  :o))
Avatar billede bak Forsker
27. april 2006 - 18:13 #14
Tror at lingo vil have en formel ind
prøv at ændre
ActiveCell.Offset(2, 0).Value = Sheets(ActiveCell.Value).[d43]
til
ActiveCell.Offset(2, 0).Formula = "=INDIRECT( " & ActiveCell.Address & " &""!D43"")"
Avatar billede bak Forsker
27. april 2006 - 18:24 #15
eller
ActiveCell.Offset(2, 0).Formula = "= " & x.Name & "!D43"
Avatar billede excelent Ekspert
27. april 2006 - 18:53 #16
yep tror du har ret bak, har dog lige fjernet et mellemrum :-)
ActiveCell.Offset(2, 0).Formula = "=" & x.Name & "!D43"
Avatar billede excelent Ekspert
28. april 2006 - 00:25 #17
den forløbige kode som jeg gætter på den skal se ud:

Sub Makro1()
   
Dim x As Worksheet
    Sheets("Orginal").Select
    Range("A1:F47").Select
    Range("F47").Activate
    Selection.Copy
    Set x = Worksheets.Add(after:=Sheets(Worksheets.Count)) ' indsæt nyt ark sidst i rækken
    x.Name = Sheets("Hovedside").[b15] ' hent arknavn
    ActiveSheet.Paste ' indsæt det kopierede
    Application.CutCopyMode = False ' fjerner kopi markering
    [a1] = Sheets("Hovedside").[b15] ' indsæt navn i celle a1 i nyt navn
    Columns("E:E").EntireColumn.AutoFit
    Columns("F:F").EntireColumn.AutoFit
    Columns("F:F").ColumnWidth = 20.86
    Range("a1").Select
    Sheets("Orginal").Activate
    Range("a1").Select
    Sheets("Hovedside").Select
    If [a1] = "" Then
    [a1] = [b15] ' navn indsætes hvis a1 er tom ellers find tom
    Else
    Range("a1").Range("iv1").End(xlToLeft).Offset(0, 1).Select ' find tom kolonne til nyt navn og gør cellen aktiv
    ActiveCell = [b15] ' indsæt nyt navn i active celle (navnet som står i celle b15)
    ActiveCell.Offset(1, 0).Formula = "=sum(" & ActiveCell.Offset(2, 0).Address & ":" & ActiveCell.Offset(6, 0).Address & ")" 'antal poster
    ActiveCell.Offset(2, 0).Formula = "=" & x.Name & "!D43" ' mandag (x.Name = nyt arknavn)
    ActiveCell.Offset(3, 0).Formula = "=" & x.Name & "!D44" ' tirsdag
    ' indsæt selv for onsdag
    ' indsæt selv for torsdag
    ' indsæt selv for fredag
    ' indsæt selv for antal syg
    ' indsæt selv for ferie
    [b15] = ""
    End If
End Sub
Avatar billede lingo Nybegynder
28. april 2006 - 10:48 #18
Jamen det kan ikke blive bedre!
Det er fantastiks, meget stor hjælp.
Læg et svar, så du kan få point - Det virker pefekt.
Tak og god weekend
Avatar billede excelent Ekspert
28. april 2006 - 10:56 #19
ok velbekom  - hvis der er noget, så bare spørg.
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
Kategori
Kurser inden for grundlæggende programmering

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