Toon posts:

[Excel] Range naar Integer.... ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo, ik heb het volgende stukje in een macro staan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
Sub ga_naar()
Dim keuze As Integer, jaja As Range, naam As Integer
Set jaja = Worksheets("Voorblad").Range("E2")
' naam = jaja
Application.ScreenUpdating = False
keuze = ActiveSheet.ListBoxes("1").Value
Select Case keuze
Case 1
MsgBox jaja
'Sheets(jaja).Select
End Select
End Sub

De waarde van cell E2 wordt nu keurig weergegeven in een Msgbox, wanneer ik dus de eerste optie aanklik in mijn lijstje. Nu wil ik echter dat excel dan naar een bepaalde sheet gaat, daarvoor had ik het stukje code gebruikt dat te zien is onder msgbox. Dit werkt echter niet, in mijn ogen omdat "jaja" een range voorsteld en geen integer. Nu heb ik de integer "naam" al eens ingevoegd; dit geeft geen oplossing (ik hem 'm even uitgezet in dit voorbeeld...).... De waarde van cell E2 is overigens tekst; dit is jammer, want anders zou het mij lukken door een integer te bepalen die de waarde van de cell (range) gewoon optelt (bijv. naam = Application.WorksheetFunction.Sum(jaja)).... dat kan nu dus niet....
Dit lijkt mij een redelijk "basic" probleem, alleen is mijn "basic" kennis niet echt prima.... Kan iemand mij hiermee helpen??
Alvast bedankt!!!

Verwijderd

Jaja heb je gedefinieerd als (range)object. En de waarde van de cel waar dat object naar verwijst komt voort uit jaja.value

Waar je naartoe wilt is de value: Sheets(jaja.value).Select

Al vindt ik het een onhandig gebruik van objecten in dit geval.

[edits] Sorry, nogal veel. Maar F_J_K is het met me eens :)

[ Voor 37% gewijzigd door Verwijderd op 09-05-2003 11:01 ]


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB/AI

Front verplichte underscores

Euhm, hoe wil je van Voorblad."E2" een integer maken - welke zou het dan moeten worden?

Als je Voorblad wilt selecteren, lijkt het me handiger als je die bij naam selecteert, of al sje per se per integer wilt werken door het sheetnummer van Voorblad te achterhalen :)
edit:
Zie dus FizGig :P

[ Voor 6% gewijzigd door F_J_K op 09-05-2003 10:59 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Verwijderd

Topicstarter
Ik ga dat object verhaal nu even proberen.
Van de waarde in voorblad.Range("E2") wil ik een integer maken, zodat ik het blad met de naam die in deze cel staat kan selecteren. Alvast bedankt voor jullie snelle reacties!

PS .value erachter zetten en ik ben klaar.... geweldig, wat is het leven toch simpel soms. Kan je mij trouwens misschien uitleggen hoe dit makkelijker kan, omdat je zegt dat het gebruik van objecten hier onhandig is?

[ Voor 36% gewijzigd door Verwijderd op 09-05-2003 11:04 ]


Verwijderd

Wat wil je nu eigenlijk? 'een integer maken' (dus een getal, dus een bladindex) <--> 'zodat ik het blad met de naam die in deze cel staat kan selecteren' (dus een string). Dat snap ik niet.

De index van de sheet krijg je ook weer heel simpel door Sheets(jaja.value).Index

[ Voor 11% gewijzigd door Verwijderd op 09-05-2003 11:03 ]


Verwijderd

Topicstarter
Het string / integer / range / object verhaal is nog een beetje wazig voor me. Heb wel de help al dertig keer doorgespit, wordt daar niet veel wijzer van. daarom ben ik nu al "spelenderwijs" aan het proberen de begrippen etc. een beetje eigen te maken. Mijn excuses als dit leidt tot niet te snappen (en te creeeren) opmerkingen etc.....
Ik heb de afgelopen 5 minuten overigens al weer een hoop bijgeleerd, thanks.....

  • KingRichard
  • Registratie: September 2002
  • Laatst online: 17-08 19:31

KingRichard

former Duke of Gloucester

De verwarring bij JeffreyDev komt misschien ook door het volgende:
Dingen als Sheets, Workbooks e.d. kun je op twee manieren benaderen:
ActiveWorkbook.Sheets(2) ; benaderen d.m.v. index, resulteert in het tweede blad van links.
ActiveWorkbook.Sheets("BladNaam") ; benaderen d.m.v. naam
JeffreyDev, start Excel op, druk op ALT-F11 en dan op F1. Lees alles wat je kunt vinden over soorten variabelen, variabelendeclaraties, objecten, properties, methods enz. Dit kost je waarschijnlijk een paar dagen, maar is de moeite meer dan waard.

a horse! a horse! my kingdom for a horse! (exeunt)
[got.profile] | [t.net.profile] | [specs]


  • aardbeix15
  • Registratie: Maart 2001
  • Niet online

aardbeix15

100%fruit pers je er niet uit!

check ook ff Acronis Privacy Expert 2003, die kan dergelijke zaken ook op allerlei aan te geven momenten (bij boot, 's nachts etc.) schedulen.

snel zeggen: 'De koetsier poetst de postkoets met postkoetspoets'
levensmotto: 'vroeg gedaan is lang gerelaxed!'.

Pagina: 1