hücre boyutlarının piksel değeri nasıl bulunur?

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,420
Excel Vers. ve Dili
excel 2010
merhaba
bir hücrenin yükseklik ve genişliğini piksel olarak veren kod nedir acaba?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,420
Excel Vers. ve Dili
excel 2010
Necdet bey aşağıdaki şekilde bir katsayı uygulamıştı.
KolonKatSayı = 5.7
SatırKatSayı = 1.01

sanırım Zafer beyin amprik bir formülü vardı ama tam olarak piksel değerini öğrenmek istiyorum.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,420
Excel Vers. ve Dili
excel 2010
merhaba
excel yardım menüden birşeyler buldum ama bu kodları nasıl anlaşılır hale getirebilirim?


Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveWindow
    lWinWidth = _
        .PointsToScreenPixelsX(.Selection.Width)
    lWinHeight = _
        .PointsToScreenPixelsY(.Selection.Height)
End With
MsgBox lWinWidth
MsgBox lWinHeight
End Sub
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,093
Excel Vers. ve Dili
Excel, 365 - İngilizce
merhaba
excel yardım menüden birşeyler buldum ama bu kodları nasıl anlaşılır hale getirebilirim?


Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveWindow
    lWinWidth = _
        .PointsToScreenPixelsX(.Selection.Width)
    lWinHeight = _
        .PointsToScreenPixelsY(.Selection.Height)
End With
MsgBox lWinWidth
MsgBox lWinHeight
End Sub
Nasıl yani? Şöyle bir şey mi?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveWindow
genişlik = _
.PointsToScreenPixelsX(.Selection.Width)
yükseklik = _
.PointsToScreenPixelsY(.Selection.Height)
End With
MsgBox genişlik
MsgBox yükseklik
End Sub

Bu kodlar bende doğru sonuç üretmiyor.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,420
Excel Vers. ve Dili
excel 2010
merhaba
syn yurttas,
bir hücrenin boyutlarının 20x20 olduğunu düşünelim.
genişlik için 20,00 (145 piksel)
yükseklik için 19,50 (26 piksel) olduğunu görüyoruz.
kod ile elde ettiğimiz değer ise genişlik:137 yükseklik:156 değerlerini alıyoruz.
bu değerler birbirini tutmuyor.
olası nedeni ekran ayarlarından mıdır?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
Necdet bey aşağıdaki şekilde bir katsayı uygulamıştı.
KolonKatSayı = 5.7
SatırKatSayı = 1.01

sanırım Zafer beyin amprik bir formülü vardı ama tam olarak piksel değerini öğrenmek istiyorum.
Süleyman bey,

Ben o kodları deneme yanılma yöntemi ile bulmuştum, yakın değerler ama çok doğru değildi.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
Tekrar merhaba,

Belki lazım olur, aşağıdaki kodları araştırıp bulmuştum. Ekran Çözünürlüğünü bulan Kullanıcı Tanımlı Fonksiyonlar.

Kod:
Private Declare Function GetSystemMetrics Lib "user32" _
    (ByVal nIndex As Long) As Long
Private Const SM_CXSCREEN = 0
Private Const SM_CYSCREEN = 1
Kod:
Private Function EkranGenisligi() As Long
    EkranGenisligi = GetSystemMetrics(SM_CXSCREEN)
End Function
Kod:
Private Function EkranYuksekligi()
    EkranYuksekligi = GetSystemMetrics(SM_CYSCREEN)
End Function
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,
Sayın Yeşertener,
Aşağıdaki kodları bu forumdan almıştım.
Sizin gonderdiğiniz functionla aynı işlemi yapıyor galiba.
Alternatif olarak işe yarar diye düşündüm.

Kod:
Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
 
Sub ekran()
MsgBox ("Çözünürlük Pixel Değerleri: " & GetSystemMetrics(0) & " x " & GetSystemMetrics(1))
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,597
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Sayın Yeşertener,
Aşağıdaki kodları bu forumdan almıştım.
Sizin gonderdiğiniz functionla aynı işlemi yapıyor galiba.
Alternatif olarak işe yarar diye düşündüm.

Kod:
Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
 
Sub ekran()
MsgBox ("Çözünürlük Pixel Değerleri: " & GetSystemMetrics(0) & " x " & GetSystemMetrics(1))
End Sub
Evet böyle daha kısa, ben ham olarak alıp arşive attığım için üzerinde düşünmemiştim kodları kısaltmak için.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Merhaba;

Aktif hücrenin, pixel cinsinden genişlik ve yükseklik değerleri için aşağıdaki gibi bir kod kullanılabilir;

Kod:
Sub Test()
    MsgBox "Genişlik = " & ActiveCell.Width * 4 / 3 & " Pixel" & vbCrLf _
         & "Yükseklik = " & ActiveCell.Height * 4 / 3 & " Pixel"
End Sub
.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,873
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
bir örnek de ben veriyim

Sub satırsutunno()
a = ActiveWindow.RangeSelection.Address
b = Worksheets(ActiveSheet.Name).Range(a).ColumnWidth
c = Worksheets(ActiveSheet.Name).Range(a).RowHeight
MsgBox "Sutun genişliği " & b & Chr(10) & Chr(10) & _
"Satır genişliği " & c, vbInformation, "Sutun ve Satır No"
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,420
Excel Vers. ve Dili
excel 2010
Merhaba;

Aktif hücrenin, pixel cinsinden genişlik ve yükseklik değerleri için aşağıdaki gibi bir kod kullanılabilir;

Kod:
Sub Test()
    MsgBox "Genişlik = " & ActiveCell.Width * 4 / 3 & " Pixel" & vbCrLf _
         & "Yükseklik = " & ActiveCell.Height * 4 / 3 & " Pixel"
End Sub
.


merhaba
nezamandır syn Haluk'un bu soruyu farketmesini bekliyordum.
bu kod çok işime yarayacak, Haluk bey çok teşekkür ederim.
 
Üst