Avatar billede janvogt Praktikant
23. juni 2003 - 10:03 Der er 17 kommentarer og
1 løsning

Nøjagtig firkant

Jeg behov for at lave et kvadrat (celle) i Excel, som er nøjagtig 6 x 6 cm. Problemet er jo, at Excel arbejder med pixels.
Man kan selvfølgelig prøve sig frem, men måske var der noget, som kendte til problemet eller havde fundet noget om det på nettet.

Har engang læst noget med samme problemstilling, hvordan man konstruerer en nøjagtig cirkel (ikke en elipse) i Excel, men kan ikke lige finde linket igen.
Avatar billede janvogt Praktikant
23. juni 2003 - 10:04 #1
Hmmm, korrektur:

Jeg har behov .....
Avatar billede Chewie Novice
23. juni 2003 - 10:07 #2
1px = 0,04 cm (0,4 mm) ifølje photoshop
Avatar billede Chewie Novice
23. juni 2003 - 10:09 #3
Sorry ... det kan du ikke regne med ... det er tilsyneladende forskeligt fra program til program :(
Avatar billede Slettet bruger
23. juni 2003 - 10:10 #4
I mit Excel (XP) regner den da med cm.

Lav en tilfældig firkant. Dobbeltklik på den, og vælg fanbladet "size".
Avatar billede janvogt Praktikant
23. juni 2003 - 10:13 #5
Sorry, kører Excel 97 ... :-(
Avatar billede Chewie Novice
23. juni 2003 - 10:15 #6
Hvad med phatlasse laver firkanten og sender arket til dig .... måske ikke den mest originale løsning :o)
Avatar billede janvogt Praktikant
23. juni 2003 - 10:16 #7
Som jeg nævnet i spørgsmålet er det en celle, som skal være 6x6 cm.
Chewie> Tror ikke det gælder for Excel. Antal pixels i højden og bredden er forskellige, så vidt jeg kan se.
En pixel er meget breddere end den er høj.
Avatar billede overchord Nybegynder
23. juni 2003 - 10:19 #8
Hvis du goer det fra kode skal du benytte twips istedet for pixels.
1 tomme = 1440 twips
1 cm ~ 567 twips

Ved ikke om det hjaelper, men Excels standard-bredde i programmet er ikke pixels men det gennemsnitlige antal numre 0-9 der kan staa i cellen
Avatar billede janvogt Praktikant
23. juni 2003 - 10:19 #9
Jeg har en kode liggende, som klarer problemet nogenlunde, men kun på skærmen.
Udskrevet bliver resultatet anderledes. Jeg skal bruge det på papir .....
Avatar billede janvogt Praktikant
23. juni 2003 - 10:29 #10
Ifølge min kode giver det 31,71 punkter i bredden og 169,5 punkter i højden.
Det giver også en kvadrat på skærmen, dog ikke helte 6x6 cm (afhænger vel af skærmopløsningen), men udskrevet er den ca. 6,35 x 6,15.
Avatar billede bak Forsker
23. juni 2003 - 10:31 #11
Denne kode kan lave celler 6*6, men det er svært at få udskriften til at passe, da dette er afhængig af printerens opløsning.
(har dog set noget ved MS, men kan ikke lige finde det igen)

Private Sub SizeCell(cell As Range, h_cm, b_cm)
cell.Columns.ColumnWidth = 5.1579 * b_cm
cell.Rows.RowHeight = 72 * h_cm / 2.54
End Sub

Sub testsizecell()
SizeCell Selection, 6, 6
End Sub
Avatar billede janvogt Praktikant
23. juni 2003 - 10:49 #12
Den kode jeg har liggende, og som altså giver et kvadrat på skærmen, ser sådan ud:

Sub SætKolonneBreddeMM(ColNo As Long, mmWidth As Integer)
' changes the column width to mmWidth
Dim w As Single
    If ColNo < 1 Or ColNo > 255 Then Exit Sub
    Application.ScreenUpdating = False
    w = Application.CentimetersToPoints(mmWidth / 10)
    While Columns(ColNo + 1).Left - Columns(ColNo).Left - 0.1 > w
        Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth - 0.1
    Wend
    While Columns(ColNo + 1).Left - Columns(ColNo).Left + 0.1 < w
        Columns(ColNo).ColumnWidth = Columns(ColNo).ColumnWidth + 0.1
    Wend
End Sub


Sub SætRækkeHøjdeMM(RowNo As Long, mmHeight As Integer)
' changes the row height to mmHeight
    If RowNo < 1 Or RowNo > 65536 Then Exit Sub
    Rows(RowNo).RowHeight = Application.CentimetersToPoints(mmHeight / 10)
End Sub

Sub SætBreddeogHøjde()
    SætKolonneBreddeMM 7, 60
    SætRækkeHøjdeMM 5, 60
End Sub
Avatar billede s_h_m Nybegynder
23. juni 2003 - 10:53 #13
En nødløsning kunne være at lave f.eks en tekstboks og angive den til 6x6 cm, og derefter rette cellen til samme størrelse. Så kan man aflæse rækkehøjde/kolonnebredde.
Avatar billede janvogt Praktikant
23. juni 2003 - 10:56 #14
Det kan selvfølgelig ligge i printerens opløsning, men det burde vel ikke variere ret meget fra printer til printer.

Ser ud til, at jeg bliver nødt til, at prøve mig frem - evt. v.h.a. interpolation.
Avatar billede janvogt Praktikant
23. juni 2003 - 10:59 #15
s_h_m> Har jeg prøvet. Gav en "kvadrat" på papiret på 6,3 x 6,2 cm :-(
Avatar billede janvogt Praktikant
23. juni 2003 - 11:19 #16
Så er eksperimenterne forbi.

Konklussion:
For at få udskrivet en celle-kvadrat i Excel 97 på en HP Laser Jet 5Si skal bredden stilles til 30,14 punkter og højden til 165,75.

Havde håbet på, at nogen havde set MS eller andre skrive noget om problemet, men tak for deltagelsen.
Avatar billede bak Forsker
23. juni 2003 - 11:28 #17
Det er da godt du kunne eksperimentere dig frem.
Jeg har testet på en deskjet og jo bedre opløsning jeg brugte, jo tættere kom jeg på 6 * 6.  :-)    (31*169,5)
Avatar billede janvogt Praktikant
23. juni 2003 - 11:41 #18
Hvis nogen senere skulle få samme problem kan vi jo henvise til dette spørgsmål og konkludere, at der ca. går

28 punkter på en centimeter i højden og
5 punkter på en centimeter i bredden, men

at det afhænger at opløsningen på den printer man bruger :-)
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