Avatar billede ferdinand.k Mester
29. januar 2009 - 14:30 Der er 12 kommentarer og
1 løsning

Dynamisk celleopdatering i Excel

Jeg sidder og skal lave en prisliste som indeholder en række kolonner med: varenummer, beskrivelse, listepris, forhandlerpris og kostpris.
Alle kolonnerne er statiske på nær forhandlerprisen, som er afhængig af den rabatsats som den pågældende forhandler har.
Faneblad nr. 2 indeholder en liste over forhandlernavne og rabatsats.

Disse 2 faneblade skal gerne sammensættes således at jeg få produceret en kopi af det første faneblad i et separat excel-dokument, med kolonnerne: varenummer, beskrivelse, listepris, forhandlerpris ( listeprisen minus den rabatsats som var specificeret hvor den pågældende forhandler).

Jeg formoder at jeg er ude i noget VBA.

How to do !?

(Yderligere info kan findes her: http://www.eksperten.dk/spm/861663)
Avatar billede ferdinand.k Mester
30. januar 2009 - 13:42 #1
ingen fantastiske ideer ?
Avatar billede oleelo Nybegynder
30. januar 2009 - 19:42 #2
Hej
Hvis jeg har forstået dit problem korrekt skal du have alle dine forhandler i en liste og din prisliste regulere du ud fra den valgte forhandler vjh  et rulle panel eller bare en celle med Formlen : =forskyd(A1;1,0)

dvs du vælger en forhandler øverst på at ark og alle din priser kan korrigeres med en faktor som er specifikt for lige den valgt forhandel.
ER det noget i den stil du søger?
mvh oleelo
Avatar billede ferdinand.k Mester
30. januar 2009 - 20:05 #3
Det er noget i den stil jeg søger, det er korrekt. Dog er det med den lille modificering, at jeg skal ende op med et regneark for hver forhandler med hver deres prisniveau. Det skal derved ikke være et enkelt regneark med et rullepanel, men derimod 45 individuelle regneark...
Avatar billede oleelo Nybegynder
30. januar 2009 - 21:06 #4
Hej
Disse nye 45 ark ( et for hver forhandeler )indeholder de formeler der korriger for  %rabat eller er det bare "døde" lister ?
ER det du har brug for en makro der danner 45 nye ark og indsætter en rabat ud fra en listen med forhandeler ( incl. rabater) og et skabelon ark ?
oleelo
Avatar billede ferdinand.k Mester
30. januar 2009 - 21:26 #5
Det skal bare være døde lister, som du kalder det. Der skal ikke være nogle formler.

Det lyder helt korrekt, det du spørger om. De 45 nye ark skal alle have samme kollonner, dog med den eneste modifikation af kollonnen "partner price, dkk" skal forskellige afhængig af den pågældnde discountrate som de pågældende forhandler har.

Gider det mening ? :)
Avatar billede oleelo Nybegynder
01. februar 2009 - 16:05 #6
Hej
Makroen IndsætArk indsætte nye ark ud fra en liste
I arket "Liste", kolonn A startende med celle A2 har du navnet på dit ark  (=forhandlernavn) og i Kolonne B den tilhørende rabat.
I Arket "Skabelon" alle dine prise med en rabat fra Celle A2.
Bemærk at arkene slettes hvis de findes i forvejen
Hvis du nu ændre rabatten i din liste ses det på hvert ark. Hvis rabatten ikke må ses på det enkelte ark så kan du bare skjule række 2.


Sub IndsætArk()
'
Dim NytArk As Integer
Dim Sidsteark As Integer

SletAlle

NytArk = 2

    Do While Sheets("Liste").Cells(NytArk, 1) <> ""
    Sidsteark = Sheets.Count
    Sheets("Skabelon").Copy After:=Sheets(Sidsteark)
    Sheets(Sidsteark + 1).Name = Sheets("Liste").Cells(NytArk, 1).Value
   
    'og en rabat
  ' NyFormel =
    Sheets(Sidsteark + 1).Range("A2") = "=Liste!B" & NytArk 'NyFormel
    NytArk = NytArk + 1
    Loop
   
End Sub

Sub SletAlle()
'
Dim NytArk As Integer
Dim Sidsteark As Integer
Sidsteark = Sheets.Count
NytArk = 2
Application.DisplayAlerts = False
  Do While Sheets("Liste").Cells(NytArk, 1) <> ""
    For x = Sidsteark To 1 Step -1
        If Sheets("Liste").Cells(NytArk, 1).Value = Sheets(x).Name Then
        Sheets(x).Delete
        Sidsteark = Sidsteark - 1
        End If
    Next x
      NytArk = NytArk + 1
  Loop
  Application.DisplayAlerts = True
End Sub
Avatar billede ferdinand.k Mester
02. februar 2009 - 09:32 #7
Hej,

Det ser lækkert ud at den laver en kopi af alle arkene, men jeg kan ikke se hvor den skulle tage højde for rabatsatsen. I mit 2'nd faneblad har jeg kolonnen "PartnerPrice, USD" som skal have fratrukket "discountrate" fra det 1'st faneblad.
Avatar billede oleelo Nybegynder
03. februar 2009 - 08:42 #8
Hej
I skabelon ark  ( prislisten ) i kolonnen med Partner Pric ( alle rækker) indsæter du også formlen
= "listePrice cellen " *(100-$a$2)/100
så er alle dine prise korrigeret
Du kan selvfølgelig flytte rabatten til en anden celle (A1?)

mvh oleelo
Avatar billede oleelo Nybegynder
03. februar 2009 - 08:42 #9
Hej
I skabelon ark  ( prislisten ) i kolonnen med Partner Pric ( alle rækker) indsæter du også formlen
= "listePrice cellen " *(100-$a$2)/100
så er alle dine prise korrigeret
Du kan selvfølgelig flytte rabatten til en anden celle (A1?)

mvh oleelo
Avatar billede ferdinand.k Mester
03. februar 2009 - 09:44 #10
Halløjsa,

Det skal jeg jo så gøre for alle de ny-oprettede faneblade, korrekt ?

Er det ikke muligt at gøre det automatiseret, således at den laver udregningen inden den opretter fanebladet ?
Avatar billede oleelo Nybegynder
04. februar 2009 - 14:36 #11
Hej
Jeg har haft problemer ned at besvar gr. den nye Ekserten med jeg prøver igen.

Nej du skal KUN gør det i dit skabelon ark ( dit 2'nd fane blad ) idet linjen:
Sheets(Sidsteark + 1).Range("A2") = "=Liste!B" & NytArk
indsætter en justeret formel i hver nye ark.
mvh oleelo
Avatar billede ferdinand.k Mester
09. februar 2009 - 10:18 #12
Så skulle den være i vinkel.

Til sidst, hva hvis jeg ønsker at få  lagt dette ud som et seperat dokument istedet for et faneblad ?
Avatar billede ferdinand.k Mester
10. februar 2009 - 09:38 #13
Jeg fik klaret den, med blot at lave mindre justeringer, ved at kopiere fanebladet til et nyt worksheet.

Tak for hjælpen !
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