Just nu i M3-nätverket
Jump to content

Är det någon som är till räckligt duktig för att fixa detta????????????


patriklarsson85

Recommended Posts

patriklarsson85

Hej

Finns det någon som skulle kunna svara på om detta går att genomföra (bifogad bild)

 

Jag skulle vilja binda en bild/objekt till en viss cell och sedan få reda på i vilken cell jag lagt detta.

Väldig svårt att beskriva men skulle tro att bifogad bild vissa hur jag vill få till det.

 

 

Jag har nog frågat alla och allt om hur man ska lösa detta men ingen har lyckas att ge mig ett svar så man kan väll säga att jag skulle bil väldigt lycklig om jag lyckades här.

 

 

[bild bifogad 2005-12-15 10:03:14 av patriklarsson85]

783875_thumb.jpg

Link to comment
Share on other sites

En fråga, en tråd. Nu är denna tråd mer informativ så jag valde att radera din gamla.

 

Men kort utamn någon specifik lösning. Titta på hur du kan hantera Shape-objekt vilket jag tror att din bild är ett.

 

Och titta på denna sida hos XLDennis som kanske kan ge dig uppslag om hur du ska gå vidare:

http://www.xldennis.com/FaceID%28vba%29.htm

Där placerar han ut bilder i specifika celler, kanske det även du vill göra?

 

 

/T

 

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

 

Link to comment
Share on other sites

Som du förstår av bristen på svar så är det inte så himla lätt att förstå vad du vill...

 

Varför vill du adressera figurena?

Om du vill koppla texten i en figur till en viss cell så är det enklaste att markera figuren, lägg till text:

Skriv in adressen till den cell du vill koppla i adressfältet , typ:

=$C$5

 

Tvärsom är det knepigare eftersom du inte når en bild med hjälp av en vanlig celladress. Istället använder man namnet som står i "namnrutan" (högst upp till vänster, ovanför rutnätet). Och så vitt jag vet går det inte att nå med vanliga formler, utan du måste använda VBA.

 

En Bild är ju normalt inte bunden till någon cell egentligen. I alla fall inte en ritad som den du visar. Den är ju placerad i X/Y led på bladet.

 

Det du kan göra är att returnera den cell som befinner sig under figuren, längst upp till vänster eller längst ner till höger (DVS om den ligger stilla enligt: "flytta och ändra storlek med cell" eller "flytta med celler men ändra inte storlek" (högerklicka, formatera figur, egenskaper) ). Men du kan fortfarande inte adressera din figur med den metoden.

 

Markera figuren och kör ett makro i den här stilen så kan du se en del egenskaper:

 

[color="#0000ff"]Sub[/color] test()
[color="#0000ff"]Sub[/color] test()
[color="#0000ff"]Dim[/color] Figur As Shape
[color="#0000ff"]Set[/color] Figur = Selection.ShapeRange(1)
[color="#0000ff"]MsgBox[/color] ([GRÅ]"shape namn: "[/GRÅ] & Figur.Name & [color="#0000ff"]Chr[/color](10) _
    & [GRÅ]"Autoshapetyp: "[/GRÅ] & Figur.AutoShapeType & [color="#0000ff"]Chr[/color](10) _
    & [GRÅ]"Typ: "[/GRÅ] & Figur.Type & [color="#0000ff"]Chr[/color](10) _
    & [GRÅ]"cell i nedre högra hörnet: "[/GRÅ] & Figur.BottomRightCell.Address & [color="#0000ff"]Chr[/color](10) _
    & [GRÅ]"cell i övre vänstra hörnet: "[/GRÅ] & Figur.TopLeftCell.Address & [color="#0000ff"]Chr[/color](10) _
    & [GRÅ]"Position: L"[/GRÅ] & Figur.[color="#0000ff"]Left[/color] & [GRÅ]" T"[/GRÅ] & Figur.Top)
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]

OBS att figuren kan ha två namn. I svensk excel heter det till exempel "Ellips 5" i kalkylbladet och "Oval 5" i VBA

 

 

Vi du adressera figuren i ett makro så måste du använda någonting i stil med ovanstående.

Exempel. Flyttar figuren över skärmen.

 

[color="#0000ff"]Sub[/color] slide()
[color="#0000ff"]Dim[/color] Figur As Shape
[color="#0000ff"]Dim[/color] sNamn As [color="#0000ff"]String[/color]
sNamn = [color="#0000ff"]InputBox[/color]([GRÅ]"vilken figur vill du flytta"[/GRÅ])
[color="#0000ff"]Set[/color] Figur = ActiveSheet.Shapes(sNamn)
Figur.[color="#0000ff"]Left[/color] = Figur.[color="#0000ff"]Left[/color] + 20
Figur.Top = Figur.Top + 30
Figur.TextFrame.Characters.Text = _
[GRÅ]"jag heter egentligen: "[/GRÅ] & Figur.Name
[color="#0000ff"]End[/color] [color="#0000ff"]Sub[/color]

 

Eller Om du t.ex vill komma åt texten i en figur via formler, så tror jag att du måste göra en egen funktion, typ:

 

[color="#0000ff"]Public[/color] [color="#0000ff"]Function[/color] FigurText(figurNamn)
FigurText = ActiveSheet.Shapes(figurNamn).TextFrame.Characters.Text
[color="#0000ff"]End[/color] [color="#0000ff"]Function[/color]

 

Link to comment
Share on other sites

patriklarsson85

Ok svar på frågan: Varför vill du adressera figurerna?

Det är så här att jag ska lista alla mått på en massa ritningar, jag ska ha ett dimensionsnummer i kolumn A Ritningsposition i Kolumn B Och så vidare……….. då var min tanke att jag skulle infoga en bild på ritningen sedan ställa in kolumn och rad höjd efter ritnings koordinaten för att sedan ”bara” behöva dra ut min bild 1 till måttet 1 och få ett ”svar” typ: bild 1 finns i C:3 och så vidare……… allt detta bara för att slipa skriva (det är många ritningar som ska listas)

 

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...