Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Intrerupator cu N - doza doar cu ...

Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!
 Cum era nivelul de trai cam din a...

probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda
 Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...
 Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata
 

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,312
  • Î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,312
  • Î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,312
  • Î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

Neurochirurgie minim invazivă Neurochirurgie minim invazivă

"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv.

Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice.

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