Avatar billede laurbjerg Nybegynder
21. december 2004 - 10:57 Der er 13 kommentarer og
1 løsning

diagram af de svære

Jeg har nedenstående makro til at definerer kriterierne til mine diagrammer.

With ActiveSheet
    .Rows("2:2").Insert Shift:=xlDown
    .Rows("3:3").Copy Destination:=Range("A2")
    .[A2] = .[A3] + 1
    'søg og erstat ugen fra linien under med uge + 1
    .Rows("2:2").Replace What:="uge " & [A3], Replacement:="uge " & [A3] + 1, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False
    .Range("A2:A53").Name = "uge"
    .Range("G2:G53").Name = "stoptid"
    .Range("H2:H53").Name = "drifttid"
    .Range("I2:I53").Name = "runs"
    .Range("J2:J53").Name = "brutto"
    .Range("K2:K53").Name = "mbrutto"
    .Range("L2:L53").Name = "netto"
    .Range("M2:M53").Name = "mnetto"
    .Range("N2:N53").Name = "opstil"
End With
End Sub

Er det muligt at gøre det således at jeg i celle B2 skriver eks. uge 36 og i celle B3 skriver uge 50 og det så er det der kommer til at stå som kriterierne i navnene ?
Avatar billede martin_moth Mester
22. december 2004 - 16:03 #1
Måske !
Avatar billede bak Forsker
22. december 2004 - 16:48 #2
måske sådan

Dim rgSearch As Range, lStartRow As Long, lEndRow As Long, rgNew As Range
Dim vStartWeek As Variant, vEndWeek As Variant

With ActiveSheet
'    .Rows("2:2").Insert Shift:=xlDown
'    .Rows("3:3").Copy Destination:=Range("A2")
'    .[A2] = .[A3] + 1
'    'søg og erstat ugen fra linien under med uge + 1
'    .Rows("2:2").Replace What:="uge " & [A3], Replacement:="uge " & [A3] + 1, LookAt:=xlPart,


Set rgSearch = .Range("A2:A53")
vStartWeek = [B2].Value
vEndWeek = [B3].Value
lStartRow = rgSearch.Find(What:=vStartWeek, After:=rgSearch(1, 1), LookIn:=xlValues, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Row
lEndRow = rgSearch.Find(What:=vEndWeek, After:=rgSearch(1, 1), LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Row
Set rgNew = .Range("A" & lStartRow & ":A" & lEndRow)
End With
rgNew.Name = "Uge"
rgNew.Offset(, 6).Name = "stoptid"
rgNew.Offset(, 7).Name = "drifttid"
rgNew.Offset(, 8).Name = "runs"
rgNew.Offset(, 9).Name = "brutto"
rgNew.Offset(, 10).Name = "mbrutto"
rgNew.Offset(, 11).Name = "netto"
rgNew.Offset(, 12).Name = "mnetto"
rgNew.Offset(, 13).Name = "opstil"

End Sub
Avatar billede laurbjerg Nybegynder
23. december 2004 - 07:49 #3
>bak

"driftstid" er defineret til kolonne "I" , men nu vil jeg gerne at det er kolonne "AC".

Kan man ikke rette det til for hver gang man kører makroen retter den tilbage til kolonne "I"
Avatar billede bak Forsker
23. december 2004 - 08:29 #4
rgNew.Offset(, 7).Name = "drifttid"
betyder at "Drifttid" er forskudt 7 kolonner til højre for "Uge"

hvis du retter 7-tallet til 28 skulle du ramme kolonne AC
Avatar billede laurbjerg Nybegynder
23. december 2004 - 08:41 #5
>bak

Et sidste spm (forhåbentlig) Jeg vil gerne at kildedata i diagrammet er de ovennævnte
"names" , men når jeg prøver at benytte dem kommer den med fejlmelding ?

Er er nogen speciel måde det skal gøres på ???
Avatar billede martin_moth Mester
23. december 2004 - 08:46 #6
OK, der fandtes nogen der kunne forstå spørgsmålet - jeg er imponeret ;o)
Avatar billede bak Forsker
23. december 2004 - 08:50 #7
Ja, det er der.
Lav først et diagram manuelt, som du synes det skal se ud.
Erstat så serierne med dine navne, med filnavnet foran
(Stil dig på en serie i grafen og rediger i formelbaren)
=SERIES( ; MinFil.xls!Uge ; MinFil.xls!mbrutto ; 1 )
Dette giver en graf hvor x-aksen er baseret på Uge og værdiene er baseret på mbrutto

Kan du ikke få det til at virke, så send lige arket til mig
excel snabela tbdl.dk eller giv mig en email-adresse så sender jeg et eksempel.
(hvis du sender arket til mig så skriv lige her at du har gjort det)
Avatar billede bak Forsker
23. december 2004 - 08:52 #8
martin -> efter lidt nærlæsning og et par gæt ;-)
Avatar billede laurbjerg Nybegynder
23. december 2004 - 09:40 #9
ark afsendt
Avatar billede laurbjerg Nybegynder
23. december 2004 - 09:54 #10
>bak

Efter flere forsøg så lykkedes det !!!
Avatar billede bak Forsker
23. december 2004 - 10:31 #11
Godt :-)
Ark sendt retur
Avatar billede laurbjerg Nybegynder
23. december 2004 - 11:32 #12
tak for hjælpen

>bak  har du set min sidste mail ?
Avatar billede bak Forsker
23. december 2004 - 11:44 #13
Da dine uger ikke er entydigede (fx på formen 2004-49) en du nødt til at justere rgSearch til nyt område der ikke har samme uge 2 gange

Set rgSearch = .Range("b46:b98")
Avatar billede laurbjerg Nybegynder
23. december 2004 - 11:48 #14
Kan man muligvis benytte sig både af kolonne A (årstal) og kolonne B ( uge) ??
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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