Sari la conținut
Forum Roportal

Postări Recomandate

Am rezolvat-o cu problema mea in care vroiam cind selectez ceva sa imi apara o imagine iar cind selectez altceva sa dispara imaginea precedenta si sa apara o alta imagine.Dar , intotdeauna esxista un DAR, pentru a explica si celorlalti cum am facut, trebuie sa-mi explice urmatorul cod :

 

Private Sub Worksheet_Calculate()

Dim myCell As Range

Dim mySel As Range

 

Set mySel = Selection

 

With Application

.EnableEvents = False

.DisplayAlerts = False

.ScreenUpdating = False

 

On Error Resume Next

For Each myCell In Range("K14")

ActiveSheet.Shapes(myCell.Address & "Final").Delete

ActiveSheet.Shapes(myCell.Value).Select

Selection.Copy

myCell.Offset(0, 1).Select

ActiveSheet.Paste

Selection.Name = myCell.Address & "Final"

Selection.ShapeRange.ZOrder msoSendToBack

Next myCell

 

mySel.Select

 

.EnableEvents = True

.DisplayAlerts = True

.ScreenUpdating = True

End With

End Sub

 

Acest cod este scris in interiorul foi de lucru adica dai click dreapta pe denumirea foii si alegi View Code si se deschide o fereastra de VB de editare cod.

Ce inseamna sau ce vrea sa spuna acest cod daca se poate sa-l explicati linie cu linie ar fi mult mai bine sa-l inteleg si eu.

Multumesc anticipat.

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Private Sub Worksheet_Calculate()

Dim myCell As Range

Dim mySel As Range

 

Set mySel = Selection

 

With Application

.EnableEvents = False

.DisplayAlerts = False

.ScreenUpdating = False

 

On Error Resume Next daca apare o eroare treci la pasul urmator (o ignora)

For Each myCell In Range("K14") pentru fiecare celula din domeniul K14

ActiveSheet.Shapes(myCell.Address & "Final").Delete sterge desenul cu numele AdresaCeluleiCurente + Final

ActiveSheet.Shapes(myCell.Value).Select selecteaza desenul cu numele ValoareaCeluleiCurente

Selection.Copy copiaza desenul selectat la linia anterioara

myCell.Offset(0, 1).Select selecteaza celula aflata la 0 coloane si 1 randuri distanta de celula curenta (urmatoarea celula in jos)

ActiveSheet.Paste lipeste desenul copiat

Selection.Name = myCell.Address & "Final" redenumeste celula selectata cu numele AdresaCeluleiMele + Final

Selection.ShapeRange.ZOrder msoSendToBack pune desenul in fundal la celula selectata (scrisul sa fie deasupra desenului)

Next myCell treci la celula urmatoare din domeniu (nici n-o sa aiba unde, pentru ca domeniul contine o singura celula :baby: )

 

mySel.Select

 

.EnableEvents = True

.DisplayAlerts = True

.ScreenUpdating = True

End With

End Sub

Partajează acest post


Link spre post
Distribuie pe alte site-uri

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum

×