Just nu i M3-nätverket
Gå till innehåll

Cellkommentar, "monosize" font


Monshi

Rekommendera Poster

Försöker använda kommentarerna i Excel lite smart. Med lite VBA-kod vill jag skriva in data i två jämna kolumner men det vill sig icke eftersom fonterna jag testar inte har tecken av en och samma storlek.

 

Dvs bredden på tecknen varierar så jag kan inte enkelt ta reda på hur mycket plats data i första kolumnen tar upp.

 

det blir alltså i stil med detta:

a'name    annat
        annat

där jag då egentligen vill att de två annat stå helt lodrätt mot varandra, under varandra

 

Ja, ni fattar.

 

1: Någon font som kan fungera?

2: Eller något sätt att få reda hur många tecken in som behövs?

 

Känns om om detta är ett no-no, att det inte går att göra som jag vill.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

 

[inlägget ändrat 2009-02-07 14:49:01 av Monshi]

 

[inlägget ändrat 2009-02-07 14:49:23 av Monshi]

Länk till kommentar
Dela på andra webbplatser

ah, tackar. Det verkar fungera. Men du har inte något förslag på någon mer? Okej, den fungerar så den duger men alltid trevligt med alternativ.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Du skulle kunna skapa en temporär Textbox (eller använda en dold Textbox i arbetsbladet), sätta AutoSize=true, sätta Text till den sträng du vill mäta och sedan kontrollera Width på textboxen. På så sätt kan du använda även proportionella typsnitt.

 

Länk till kommentar
Dela på andra webbplatser

Fast tanken är att använda lite mindre resurser än det tar att poppa upp textboxar. Samt att användaren lätt ska kunna ta fram dem i ett kompakt gränssnitt.

 

Andra tanken jag haft är att på ett dolt blad skapa ett antal områden där jag skriver in det jag vill visa och formaterar det snyggt. Sedan kopierar jag detta cellområde, den post jag vill visa (kan vara flera samtidigt), och klistrar in som bild på bladet i fråga.

 

Men, det tar en del resurser. Bilder må vara snyggare, men flera bilder kan ge lite segt GUI i vissa lägen.

Samt kommentarer har en fin pop-up-funktion.

 

Okej, det senare, pop-up, har jag en möjlig lösning på. Lägg in två bildytor, tomma. Den ena lite större än den andra. Gör båda osynliga, eller ivartfall den lite större osynlig. Placera dem så att den mindre ligger ovan den större.

 

Skapa två klasser som implementerar MSforms.Image Events, ja i stil med:

Option Explicit
Public WithEvents myEvents As MSforms.Image

Private Sub myEvents_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  Blad2.Shapes("imgHej").Visible = False
  Blad2.Image2.Visible = False
End Sub

där då koden ovan, kopplad till den mindre bilden, tar fram den bild/data som ska visas och motsvarande för den större bilden som då gömmer...

Man kan även lösa det med en bildklass och ett OnTime-Event som tar bort bilden/infon, eller liknande. Ja, kanske man kan nöja sig med en bild som man kan klicka på, som en knapp? Tyvärr finns inte händelsen MouseLeave.

 

Fast komplext, resurskrävande och kan nog gå helt snett.

 

Ah, jag klurar vidare.

 

ed: Nytt felmeddelande från VBA, aldrig sett förut

"Utrycket är för komplext"

OK

Verkar som Excel blir dummare ju längre tid det är igång, startar om Excel, då klarar det raden ifråga...

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

 

[inlägget ändrat 2009-02-08 12:41:28 av Monshi]

Länk till kommentar
Dela på andra webbplatser

Har löst det hela via (se bild) lägga ut ett gäng stjärnor (som jag sedan kan leka lite med färgen på bland annat) och ovanpå lägga en bild-kontroll från ActiveX-kontrollerna. Denna gör jag sedan genomskinlig och ser till att reagera på när musen rör sig.

 

När musen sedan befinner sig ungefär över en stjärna poppar jag upp en bild. När musen befinner så på kanten av bilden, då gömmer jag/raderar jag bilden. Går inte blixtsnabbt, men går att optimera lite till, och jag måste nog testa det i Excel 2002 innan jag säger hej...

 

...men jag tror det ska fungera.

 

bilden alltså en kopia av ett gäng med celler dit jag skriver det jag vill visa. Genom att sätta bildens formler till ett definierat namn (=FÖRSKJUTNING(Goalwire!$AP$3;0;0;MAX(Goalwire!$AO$3:$AO$16)+1;7))

som ändrar storlek med antal värden skrivna så ändrar bilden storlek med området. Riktigt smidig funktion som säkert en hel del inte känner till.

 

Och jag måste se till att dölja bilderna enkelt, kanske ett klick på bilden så stängs den? Ja, det är nog enklast. Ibland missar musen de yttersta pixlarna på activeX-kontrollen och bilden stannar kvar.

 

Ja, nu återstår att städa lite i koden. Placera allt där det ska vara. Och här ska sägas, blev mer kod än formler även om en hel del nog skulle gå att lösa med formler.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

[bild bifogad 2009-02-08 20:10:10 av Monshi]

1121494_thumb.jpg

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...