• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

fout in activesheet.shapes.

Status
Niet open voor verdere reacties.

Avalondra

Gebruiker
Lid geworden
9 jan 2009
Berichten
150
Code:
Private Sub Workbook_Open()

if cells(16,10) <> 0 then
w = cells(11,10) / cells(16/10) * 100
c = cells(12,10) / cells(16/10) * 100
o = cells(13,10) / cells(16/10) * 100
d = cells(14,10) / cells(16/10) * 100
p = cells(15,10) / cells(16/10) * 100

activesheet.shapes(array("shape1", "shape2", "shape3", "shape4", "shape5", "shape6")).width = array(w, c, o, d, p, 100)

else
exit sub

end if
end sub


Heeft iemand misschien een oplossing???

Greetz AvA
 
1 oplossing voor 5 verschillende problemen zonder een duidelijke vraag ?
 
mijn excuses,

het probleem zit hem in de activesheet.shapes(... regel, ik had eerst mijn code gemaakt zodat hij steets elke shape appart deed aanpassen.

De code hierboven is echter maar een deel, in mijn eigenlijke volledige code moet ik die 6 shapes 5 keer gebruiken, met enkel een andere waarde.

Daarom had ik geprobeerd om dit met een array te doen, echter, zoals u kunt zien heb ik niet echt verstand van arrays en op internet en in de help kon ik zo direct niets als oplossing of uitleg vinden.

Dus hier als nog, de vraag, is het mogelijk om via een array of iets anders de verschillende shapes die verschillende breedte waardes te geven?

Of is het toch noodzakelijk dat ik het toch als volgt laat?
Code:
activesheet.shapes("shape1").width = w
activesheet.shapes("shape2").width = c
activesheet.shapes("shape3").width = o
activesheet.shapes("shape4").width = d
activesheet.shapes("shape5").width = p
activesheet.shapes("shape6").width = 100

Greetz AvA
 
Code:
for j=1 to sheets(1).shapes.count
  sheets(1).shapes(j).width=choose(j,1,2,3,4,5)
next

of
als de namen: Shape1, Shape2, Shape3, etc zijn
Code:
for each sh in sheets(1).shapes
  sh.width=choose(replace(sh.name,"Shape",""),4,5,6,7,8)
next
of

Code:
sq=split("|20|30|40|50|60","")
for each sh in sheets(1).shapes
  sh.width=sq(replace(sh.name,"Shape",""))
next

PS.
Code:
if ... then
   -------
else
    exit sub
End if
krijgt van mij een dikke onvoldoende.
 
Laatst bewerkt:
snb, bedankt voor je reacties, ik zal ze dadelijk uit proberen.
En als side note, mijn eigenlijke code ziet er niet zo uit, ik heb dat er maar om gezet als voorbeeld :)

maar nu heb je wel mijn interesse gewekt.
Hoe of wat zou dan een betere oplossing zijn?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan