- Katılım
- 5 Ocak 2009
- Mesajlar
- 1,586
- Excel Vers. ve Dili
- 2003 Türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sayın Ergün_Güler,
Userformunuz seçili iken, Properties kısmındaki "StartUpPosition" yerini 0-Manual olarak değiştirin. Daha sonra Left ve Top değerlerine bir rakam girin. Kodu deneyin.
Private Sub UserForm_Initialize()
a = UserForm1.Top
b = UserForm1.Left
MsgBox "Üstten = " & a & " " & "Soldan = " & b
End Sub
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
x As Long
y As Long
End Type
Private Sub CommandButton1_Click()
Dim lngCurPos As POINTAPI
GetCursorPos lngCurPos
MsgBox lngCurPos.y * 0.75
MsgBox lngCurPos.x * 0.75
End Sub
Excel sütun genişliğini değiştirir iken "Genişlik: 100,00 (705 Piksel)" diyor.Herhangi bir Excel çalışma sayfasında, satırın genişliği değiştirirken küçük bir kutuda gösterilen şey de, "Point" dir (Yanında pixel değeri de görüntülenir).
Not : Excel sütunları için ise, bu gösterim farklıdır. Sütunların genişliği değiştirirken, "Ortalama Karakter (0-9) Genişliği" ile birlikte "Pixel" değeri verilir. (Bu kısmın konumuzla alakası yok. Genel kültür içindir)
Bu dediğinizi tersini ben anladım biraz kafam karıştı. lngCurPos.y * 0.75 yaparak buluyorum. yukarıdaki bahsettiğinize göre lngCurPos.y = Pixel oluyor lngCurPos.y * 0.75= POINT oluyor. Doğru mudur?Siz, GetCursorPos fonksiyonu ile "PIXEL" cinsinden ekran koordinatlarını elde ediyorsunuz. PIXEL dediğimiz şey de sizin, bilgisayarınızın ekran çözünürlüğünde görüntülenen birimler.
UserForm'un görüntülerken kullanacağınız koordinat birimi ise POINT'dir. Yani, "Pixel" cinsinden değerleri, POINT cinsine çevirmeniz gerekir.
Pixel ve Point'in ağababası ise TWIP denilen mini minnacık başka bir birimdir.
TWIP olarak;
1 Pixel = 15 Twip
1 Point = 20 Twip 'tir.
Bu bağlantıya göre;
1 Point = 15/20 Pixel yani 0.75 Pixel 'dir.
Sizin deneme yanılma yolu ile bulduğunuz 0.75 çarpanının aslı da budur.
.
Excel sütun genişliğini değiştirir iken "Genişlik: 100,00 (705 Piksel)" diyor.
Bu kısmı anlayamadım.
Bu dediğinizi tersini ben anladım biraz kafam karıştı. lngCurPos.y * 0.75 yaparak buluyorum. yukarıdaki bahsettiğinize göre lngCurPos.y = Pixel oluyor lngCurPos.y * 0.75= POINT oluyor. Doğru mudur?
1 Point = 15/20 Pixel yani 0.75 Pixel 'dir.
Eğer yeni bir Excel Çalışma kitabı açarsanız (-ki bu durumda otomatik olarak yeni bir Çalışma sayfası da oluşur) veya varolan bir Çalışma Kitabına, yeni bir Çalışma Sayfası ilave ederseniz;
ve A sütununu 100,00 (705 Pixel) genişliğe ayarlarsanız, bunun etkisi şudur.
Fontla hiçbirşekilde oynamadığınız (yani default yazıtipi kullandığınız varsayımı ile),
A sütunun herhangi bir hücresine, 0-9 karakterlerinden 100 adet yazabilirsiniz.
Yani A sütunundaki herhangi bir satıra, 0-9 arasındaki rakamlardan oluşan, 100 karakter uzunluğunda bir metin veya sayı girebilirsiniz. (Not : Sayı -Numerik- olarak, 100 basamak girmeniz mümkün değildir)
Örneğin aşağıdaki resimde; 6.00 (47 pixel) olarak görüntülenen G sütununa, 6 karakterden oluşmuş "123456" metnini (sayısını) yazabilirsiniz. 7 karakter yazdığınızda, ya görüntülenmeyecektir (sayılarda) ya da ilk 6 karakter görüntülenecektir
![]()
Mantık olarak da bir sütun genişliğini ayarlarken; kontrol edeceğiniz şey, o sütunun hücrelerinde yazan metnin tam olarak görünüp görüntülenmediğini kontrol etmektir.
Excel bunun için, sütun genişliklerini ayarlarken size sütunun genişliğini pixel olarak verirken, aynı zamanda "Ortalama Karakter Genişliği/Yaklaşık Metin Uzunluğu" ile de desteklemektedir.
Bir Çalışma sayfasındaki Satırlar için ise; ana düşünce, yazdığımız fontun büyüklüğünü gösterip göstermediğini kontrol etmektir.
Yazı Tipinin büyüklüğünü genel söylem olarak "Punto" ile ifade ederiz. "Punto"nun hangi dilden alındığını veya etimolojisini araştırmadım ama muhtemelen "Point" den evrilmiş ve Türkçeleşmiş bir kavram.
Excel'in satır yüksekliğini ayarlarken gösterdiği birim de, pixelle birlikte Point (Punto) değeridir.
Aşağıdaki resimde; 13.Satırın yüksekliği yaklaşık olarak 22 (21.75) Punto/Point ve 29 Pixeldir.
![]()
Satırın bu yükseklik değeri ile; 13.Satıra, 22 Punto büyüklüğünde yazı yazarsanız, tam olarak görüntülenir. Yükseliği 22 point olarak ayarlanan bir satıra 24 punto ile yazarsanız, metin tam olarak görüntülenmeyecektir.
Her na kadar, siz yazı yazdığınızda Excel bunları otomatik olarak algılayıp, kendi ayarlamalarını yapsa da, işin asıl mantığı budur.
Evet, doğrudur. Ben yazarken biraz acele ettim ve dikkatsizliğim nedeniyle pixel ve point eşitliğini size ters verdim.
Bir önceki mesajımda yazdığım, şu satırın ;
düzeltilmiş hali şöyle olacaktır.
1 Pixel =15/20 Point yani 0.75 Point'dir.
Aşağıdaki resim, karşılaştığınız durumu, daha iyi ifade eder sanırım.
![]()
İyi çalışmalar.
.