Jump to content

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

Virusii si bacteriile din apa de ...

Rosturi de dilatare faianta

Sfat achizitie bicicleta 2000-250...
 Dezbatere mostenire?

Restrictionare editare useri in G...

Cresc impozitele pe proprietate +...

Recomandare masina ras
 Teorie Q

Setari Growatt 3000 TL-X

Ecran negru la pornire

Sarma pentru antena de ferita - r...
 Ce se canta in melodie ?!

Camera de bord (Buget ~200-250 lei)

Bubuie economia uslamista: Uslamu...

Compatibilitate router
 

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

Bun venit pe Forumul Softpedia!

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