Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

Cu masina spre Portugalia

Acoperis mansarda - am nevoie de ...

Bmw seria 3 zgomot in sarcina
 Samsung S21 FE - nou cu poze in el

Smart Meter

Problema infiltratie apa

Elon Musk prezinta robotul Optimu...
 La multi ani @laurstef!

Plita gaz Arctic ARNGN64127SB

Vaccin - alergie polen, ambrozie ...

E labrador sau nu?
 Generator Honda EU22i

Situatia masinilor cu volan pe dr...

Noul legamant

ecranul laptopului se intuneca ri...
 

Marire imagine cat ecranul

- - - - -
  • This topic is locked This topic is locked
2 replies to this topic

#1
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,310
  • Înscris: 16.07.2008
Intr-un tabel Excel, pe o coloana (i), pe fiecare linie, doresc sa inserez niste imagini (miniaturi capturi ecrane).
Rezolutia maxima este 1366x768 (laptop). Coloanele pana la i au latimi diferite, asa incat pentru a accesa coloana i trebuie sa fac scroll orizontal.

As vrea ca la click pe o poza, aceasta sa se faca mare cat tot ecranul. Si din nou la click, sa se minimizeze si sa se gaseasca tot in aceeasi celula (sa nu isi schimibe pozitia sau sa se deplaseze). In plus, view-ul pe sheet sa ramana neschimbat. Adica, sa presupunem ca coloana i este ultima vizibila la ecran, in partea dreapta; in stanga vad de la colonana F incolo. Dupa micsorare imagine, vreau sa raman in acelasi ecran cu celulele vizibile de la F la I. Daca fac scroll si sa zicem ca colona cu ecrane este pe mijlocul ecranului, as vedea ceva in range-ul G - M. Si tot in acelasi range as vrea sa raman (sa nu mai fac scroll).


Cum as putea sa fac asta in VBA? Nu sunt un specialist, si cam asta a iesit dupa cautari, dar nu este satisafactor.
Rog un pic de ajutor. Multumesc
Sub all_Click()
fd = fd Xor True
Dim H As Long
Dim w As Long
With ActiveSheet.Shape(Application.Caller).OLEFormat.Object
If fd Then
	 .Width = .Width
	 .Heigth = .Height
Else
	 .Width = .Width * 30
	 .Heigth = .Height * 15
End If
End With
End Sub


Edited by colombo2003, 08 June 2018 - 16:47.


#2
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,310
  • Înscris: 16.07.2008
Nici un specialist in vba pe aici?
Nimeni, nimic? Nici o idee? :(

#3
colombo2003

colombo2003

    Senior Member

  • Grup: Senior Members
  • Posts: 6,310
  • Înscris: 16.07.2008
Nu mai e nevoie, am reusit!

Iata si codul. Faceti ce vreti cu el. Poate se mai loveste si altcineva vreodata de treaba asta. Poate foloseste si altcuiva.
Se pune in vba, in Module 1

Option Explicit
Dim BigPicture as String, BigPictureTop as Long, BigPictureLeft As Long
Sub all_Click()
Dim lngTopRow As Long
Dim lngLeftCol As Long

With Activewindow.VisibleRange
	 lngTopRow = .Row
	 lngLeftCol = .Column
End With

If Len(BigPicture) Then
	 With ActiveSheet.Shapes(BigPicture).OLEFormat.Object
		 .Top = BigPictureTop
		 .Left = BigPictureLeft
		 .Width = . Width - 400
		 .Heigth = . Heigth - 40
	 End With
	 BigPicture = ""
Else
	 With ActiveSheet.Shapes(Application.Caller)
		 If .Name <> BigPicture Then
		 BigPicture = .Name
		 With .OLEFormat.Object
			 BigPictureTop = . Top
			 BigPictureLeft = .Left
			 .Top = Cells(lngTopRow, lngLeftCol).Top
			 .Left = Cells(lngTopRow, lngLeftCol).Left
			 .Width = . Width - 400 // valoarea asta se poate schimba, in fct de cat de mare vreti poza. Aceeasi valoarea trebuie sa fie data si sus
				.Heigth = . Heigth - 40 // idem si aici
			 End With
		 Else
			 BigPicture = ""
		 End If
	 End With
	End If
End Sub


Evident ca se poate face/adapta in mai multe feluri, dupa necesitati (pentru simplitate s-ar fi putut pune pozele pe coloana A...).
Functioneaza si cu Freeze (cu Split insa nu).
Rezolvat, multumesc, se poate inchide!

Edited by colombo2003, 10 June 2018 - 00:37.


Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate