Avatar billede pjatmail Mester
18. december 2007 - 20:06 Der er 18 kommentarer og
1 løsning

kan excel lave en vinkel

Kan jeg få en vinkel med et bestemt antal grader tegnet i excel
Avatar billede jlemming Nybegynder
19. december 2007 - 08:31 #1
muligvis, men jeg får ikke tid til at kigge på det før weekenden.
Avatar billede epimetheus Nybegynder
19. december 2007 - 11:00 #2
Er der ikke noget med at Excel bruger radians og ikke grader?
Bare lige til info.
Avatar billede lunddata Nybegynder
19. december 2007 - 16:08 #3
Avatar billede pjatmail Mester
19. december 2007 - 16:15 #4
lunddata: det ser flot ud.... men jeg fatter intet af det, desværre.
Avatar billede epimetheus Nybegynder
20. december 2007 - 23:02 #5
Følgende makro tegner en vinkel.

Sub Macro1()
    ActiveSheet.Shapes.AddLine(100, 200, 400, 200).Select
    ActiveSheet.Shapes.AddLine(100, 200, 400, 100).Select
End Sub

expression.AddLine(BeginX, Beginy, EndX, EndY)

Med lidt matematik kan man vel regne ud hvor enderne af strgerne skal ende, for at tegne den rigtige vinkel.
Avatar billede pjatmail Mester
21. december 2007 - 07:02 #6
Jeg kan se jeg har rodet mig ud i et spørgsmål, der for mig sikkert ikke bliver let at løse..... Jeg er i hvertfald nødt til at vente med forsøget til jeg har god tid. Det bliver her iløbet af juleferien.
Avatar billede epimetheus Nybegynder
21. december 2007 - 11:13 #7
Her er noget du kan arbejde videre på.
Beregningen af xy koordinaterne mangler. Der skal du nok ha hjælp af en anden.

Sub Tegn()
  ' Tegner og navngiver scrollbar, cirkel og streger
  ' Skal selvfølgelig kun bruges en gang
  Dim OLE As OLEObject
  ActiveSheet.Shapes.AddShape(msoShapeOval, 100, 100, 400, 400).Select
  Selection.Name = "Cirkel"
  ActiveSheet.Shapes.AddLine(300, 300, 300, 100).Select
  Selection.Name = "SortLinje"
  Selection.ShapeRange.Line.ForeColor.SchemeColor = 0
  ActiveSheet.Shapes.AddLine(300, 300, 300, 100).Select
  Selection.Name = "BlaaLinje"
  Selection.ShapeRange.Line.ForeColor.SchemeColor = 12
  Set OLE = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ScrollBar.1", _
            Left:=200, Top:=50, Width:=200, Height:=20)
  With OLE
  .Object.Min = 0
  .Object.Max = 360
  .Name = "ScrollBar"
  End With
End Sub

Private Sub ScrollBar_Change()
  ' Tegner en ny blå streg med den rigtige vinkel
  ' hver gang scrollbaren ændres
  Dim Vinkel As Long
  Dim ex As Long
  Dim ey As Long
  Vinkel = Me.ScrollBar
 
 
  '**********************************************
  ' Select case skal udskiftes med et regnestykke
  ' der beregner xy korordinaterne

  Select Case Vinkel
    Case 315 To 45
      ex = 300
      ey = 100
    Case 45 To 135
      ex = 500
      ey = 300
    Case 135 To 225
      ex = 300
      ey = 500
    Case 225 To 315
      ex = 100
      ey = 300
  End Select

  '***********************************************

  ActiveSheet.Shapes("BlaaLinje").Delete
  ActiveSheet.Shapes.AddLine(300, 300, ex, ey).Select
  Selection.Name = "BlaaLinje"
  Selection.ShapeRange.Line.ForeColor.SchemeColor = 12
End Sub
Avatar billede epimetheus Nybegynder
23. december 2007 - 18:47 #8
Så er koden tilpasset.

Private Sub ScrollBar_Change()
  ' Tegner en ny blå streg med den rigtige vinkel
  Const Pi As Variant = 3.14159265358979
  Dim ex As Variant
  Dim ey As Variant
  ex = Sin(Me.ScrollBar * (Pi / 180)) * 200 + 300
  ey = Cos((180 - Me.ScrollBar) * (Pi / 180)) * 200 + 300
  ActiveSheet.Shapes("BlaaLinje").Delete
  ActiveSheet.Shapes.AddLine(300, 300, ex, ey).Select
  Selection.Name = "BlaaLinje"
  Selection.ShapeRange.Line.ForeColor.SchemeColor = 12
End Sub
Avatar billede pjatmail Mester
23. december 2007 - 19:11 #9
Det ser du godt nok indviklet ud - hvad er det lige jeg skal gøre nu???
Avatar billede pjatmail Mester
23. december 2007 - 19:30 #10
Det ser "sgu" godt nok indviklet ud - hvad er det lige jeg skal gøre nu???
Avatar billede epimetheus Nybegynder
23. december 2007 - 20:10 #11
Har du styr på at kopiere koden over i Excel?

Sub Tegn() skal kun bruges en gang, til at tegne en cirkel en scrollbar og et par streger.

Sub ScrollBar_Change tegner en ny streg hver gang scrollbaren ændres.
Avatar billede epimetheus Nybegynder
23. december 2007 - 20:14 #12
Jeg ved ikke om det er noget du kan bruge, men det viser hvordan man kan tegne vinkler i Excel.
Avatar billede epimetheus Nybegynder
23. december 2007 - 20:19 #13
Du kan også downloade en færdig Excel fil her.

http://peecee.dk/?id=86737
Avatar billede pjatmail Mester
30. december 2007 - 17:43 #14
epimetheus. Læg et svar så er pointene dine - jeg må dog indrømme at jeg ikke er kommet videre med opgaven. Er ikke sikker på jeg kan og har ikke tid til at forsøge lige for tiden. Men har nu noget at gå videre med på et senere tidspunkt.
Avatar billede jlemming Nybegynder
02. januar 2008 - 09:09 #15
epimetheus --> Må jeg have lov at rose din løsning, simple og effektiv. Der er dog en enkel fejl, i din download fil, cirkelen er forskudt i forhold til vinkelen. (men det passer dog, hvis man sletter cirkelen og kører tegn igen). Det var bare til orientering :o)
Avatar billede lunddata Nybegynder
02. januar 2008 - 19:35 #16
Jeg har forsøgt med vinkler i trekant. Se http://www.sysform.dk/Test/Vinkleritrekant.xls
Avatar billede epimetheus Nybegynder
03. januar 2008 - 21:27 #17
Tak for ros.

Behold bare dine point, jeg samler ikke på dem :-)

Det med forskydningen er cirklen er vist en lokal fejl. Jeg har ikke fejlen her hos mig.
Avatar billede pjatmail Mester
04. januar 2008 - 06:56 #18
Det gør jeg heller ikke :o)  - Tak alligevel.
Avatar billede pjatmail Mester
08. februar 2008 - 19:26 #19
Okay, så er jeg nødt til at lukke uden at "betale" point for det.
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