Krmiljenje (vnosa) v BA

Pomoč pri izdelavi makrov
Odgovori
dragopre
Prispevkov: 105
Pridružen: To Dec 11, 2012 11:46 pm

Krmiljenje (vnosa) v BA

Odgovor Napisal/-a dragopre »

Lep pozdrav.

Spet imam nekaj vprašanj. Problem imam naslednji.
Na delu lista imam več (tudi 100 ) kvadratnih celic, v katere vpisujem po en sam znak. V VBA kodi pa označujem te celice tako,
da nekatere "obkrožim" s krogi različnih barv.
Zdaj znam v VBA kodi ustvarit obliko - oval in ji določiti prave vrednosti ( barvo, prosojnost, pozicijo, vežem obliko na celico, priredim makro, ).
Ostajajo mi pa naslednji problemi:
1. Dokler je celica v Edit modu, z miško ne morem "pritisniti" gumba na listu. Razumljivo.
Ker pa v nekatere celice vnašam en sam znak, bi rad po vpisu prvega znaka forsiral tipko "Tab". Se to da narediti?
2. Tam, kjer je na listu narisana oblika ne morem izbrati spodaj ležeče celice. Oblika (oval) je prosojna.
Rešujem se z makri - Na obliko krog vežem makro, v makru pa naredim select na spodnjo celico. Problem je pa v številu oblik in s tem makrov.
Imam idejo, da uporabim en sam makro, ne vem pa če je možno:
- ali lahko v makru ugotovim kateri oval ga je zagnal:
- kako ugotoviti katera celica je na poziciji ovala.
Oziroma,
- ali se lahko v VBA vprašam Katera celica je na poziciji (x,y) - pozicija ovala
- ali se lahko v VBA ( v makru) vprašam, na kateri poziciji je miška

Upam, da moje želje niso preveč abstraktne.

ps. O oblikah sem že spraševal v poglavju Excel, vendar je tema VBA.

Hvala za vaš trud.

lep pozdravljeni,
Drago
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: Krmiljenje (vnosa) v BA

Odgovor Napisal/-a admin »

Pozdravljeni,
dragopre napisal/-a:...Ker pa v nekatere celice vnašam en sam znak, bi rad po vpisu prvega znaka forsiral tipko "Tab". Se to da narediti?...
Trenutno se ne spomnim načina, da bi to naredil...
dragopre napisal/-a:...ali se lahko v VBA vprašam Katera celica je na poziciji (x,y) - pozicija ovala...
Da, vsaka celica ima lastnosti Top in Left in tako lahko ugotovite kje točno se nahaja
dragopre napisal/-a:...ali se lahko v VBA ( v makru) vprašam, na kateri poziciji je miška...

Da, z uporabo WINApi funkcij

Koda: Izberi vse

Option Explicit

Public Type POINTAPI
  x As Long
  y As Long
End Type

Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Sub KjeJeMiska()
  Dim lngCurPos As POINTAPI
  GetCursorPos lngCurPos
  
  Debug.Print "X = " & lngCurPos.x & ", " & "Y = " & lngCurPos.y
End Sub
lp,
Matjaž Prtenjak
Administrator
dragopre
Prispevkov: 105
Pridružen: To Dec 11, 2012 11:46 pm

Re: Krmiljenje (vnosa) v BA

Odgovor Napisal/-a dragopre »

Res lepa hvala, za hiter odgovor.

Drago
Odgovori