Avatar billede Morten Nybegynder
15. november 2002 - 22:51 Der er 15 kommentarer og
1 løsning

Opslag i forskellige tabeller/matrixer

Hello...

Bak har lige lavet/givet mig følgende funktion:

Function pris(Area As Range, Højde As Double, Bred As Double)
  Dim dif As Double
  Dim i As Long, x As Long, y As Long, p As Integer
  dif = 100000
  Set Area = Area
  For i = 1 To Area.Rows.Count
    If Area(i, 1) >= Højde And Area(i, 1) - Højde < dif Then
    dif = Area(i, 1) - Højde
    x = i
    End If
  Next
  dif = 100000
  For i = 1 To Area.Columns.Count
    If Area(1, i) >= Bred And Area(1, i) - Bred < dif Then
    dif = Area(1, i) - Bred
    y = i
    End If
  Next
  pris = Area(x, y)
End Function

Og den fungerer fint.. med den kan jeg indsætte en funktion i en celle og pege på et area...
men, hvis jeg nu ønsker at area skal ændre sig ud fra et spørgsmål f.eks.

if A2="X" then area = WORKBOOK Pris for vinduer
if A3="X" then area = woorkbook pris for dører...

er det formuleret godt nok ?
15. november 2002 - 23:43 #1
Jeg forestille mig, at der er fordi du gerne vil kopiere den f.eks. nedad uden hensyn til, om det er døre eller vinduer der skal checkes på - right !

Function Pris(WinArea As Range, DoorArea As Range, Højde As Double, Bred As Double, bWindow As Boolean)
  Dim Area As Range
  Dim dif As Double
  Dim i As Long, x As Long, y As Long, p As Integer
  dif = 100000
 
  If bWindow Then
    Set Area = WinArea
  Else
    Set Area = DoorArea
  End If

  For i = 1 To Area.Rows.Count
    If Area(i, 1) >= Højde And Area(i, 1) - Højde < dif Then
    dif = Area(i, 1) - Højde
    x = i
    End If
  Next
  dif = 100000
  For i = 1 To Area.Columns.Count
    If Area(1, i) >= Bred And Area(1, i) - Bred < dif Then
    dif = Area(1, i) - Bred
    y = i
    End If
  Next
  pris = Area(x, y)
End Function

Det virker således:
=Pris(WinArea;DoorArea;Højde;Bred;HVIS(A2="X";True;False))

Hvis "hvis-funktionen" returnerer True - så køres WinArea eller køres DoorAera
Avatar billede bak Forsker
16. november 2002 - 00:12 #2
UPS..... hvis du bruger denne funktion og ikke den nye model ( se point til bak) skal du i begge løkker ændre
for i = 1
til
for i = 2
Dettte vil nemlig give forkert opslag, hvis en af de værdi du vil slå op er mindre end det den skal føre efter. (den vil så returere en overskrift).

Fin modificering, Flemming :-)
16. november 2002 - 00:21 #3
takker *ss*
Avatar billede bak Forsker
16. november 2002 - 01:05 #4
Hvis du har navngivet dine områder Vinduer og Døre, kunne du også indsætte det her i en celle. fks a5
=HVIS(A2="x";"Vinduer";"Døre")
og din formel ville så være
=PRIS(INDIREKTE(A5),H1;b1)

afhængig af resultatet i A5 vil formlen skifte dataområde
Du skal så ikke ændre i din funktion.
Avatar billede Morten Nybegynder
16. november 2002 - 10:46 #5
>> flemming... egentlig er det fordi jeg har flere forskellige prislister... jeg ønsker at køberen vælger et produkt på en liste og angiver højde x bredde

Funktionen skal så slå op i den rigtige prisliste afhængig af produkt...

jeg har ikke kigget på dit forslag måske dækker det mit ønske?
Avatar billede bak Forsker
16. november 2002 - 11:37 #6
cddk _> har du en emailadr. så har jeg et eksempel med 4 prislister.
Avatar billede Morten Nybegynder
17. november 2002 - 21:41 #7
maria.morten@adslhome.dk
17. november 2002 - 21:50 #8
fd@win-consult.com
Avatar billede bak Forsker
18. november 2002 - 09:39 #9
Sendt.....
Avatar billede Morten Nybegynder
18. november 2002 - 09:47 #10
kan du sende kopi hertil: morten_normann@hotmail.com så jeg kan hente den her på jobbet also now... :O)
Avatar billede bak Forsker
18. november 2002 - 09:57 #11
Sendt igen :-)
Avatar billede bak Forsker
18. november 2002 - 10:04 #12
Troede jeg, men jeg kan ikke sende til den adresse !!!
Avatar billede Morten Nybegynder
18. november 2002 - 10:06 #13
der er en underscore melle Morten og Normann...
Avatar billede Morten Nybegynder
18. november 2002 - 10:07 #14
øjeblik... skal lige rydde op.. :O)
Prøv om 5 min.
Avatar billede Morten Nybegynder
18. november 2002 - 10:08 #15
send til info@crawford.dk istedet - den virker i hvert fald
Avatar billede bak Forsker
18. november 2002 - 10:18 #16
ok, sendt
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