• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Userfomun arkasındaki veri

Katılım
6 Temmuz 2008
Mesajlar
1,875
Excel Vers. ve Dili
OFFİCE 2010- TÜRKÇE
Herkese hayırlı akşamlar;
Texboxtaki veriye göre sayfadaki hücreyi seçtiriyorum fakat bulunan değer Userformun (112*233ebat) arkasında kalan hücreye denk geldiğinde seçili olduğunu göremiyorum.
Bu durumun içinden çıkacak çözüm adına aklıma hiçbirşey gelmedi .

Değer arkada kaldığında formu mu aşağı yukarı hareket mi ettirsem yoksa .ScrollRow ile sayfayı mı aşağı yukarı kaydırsam?
 
Denemiştim :)
Herşey şeffaf olduğundan işimi görmedi textbox ile label asl renginde kalsaolacaktı fakat bu kodlar herşeyi şeffaf yapıyor
 
Userforma bir tane listbox koyun.
Onun üzerinden seçme işlemini yapın.:cool:
 
Nasıl olacak anlamadım :)
Yaptığım kod textboxa girdiğim değeri sayfada arayıp hücreyi seçiyor.
Listbox dan nasıl seçeceğim anlayamadım
 
Merhabalar.

Afaki soru sorarak sonuca ulaşmanız biraz güç.

Sorularınızı;
-- gerçek belgenizle aynı yapıda (sayfa yapısı, varsa sayfalar arası ilişkiler)
-- gerçek belgedeki verileri temsil edebilecek nitelikte örnek veri içeren (tarih/sayı/metin gibi veri türleri önemli)
-- örnek verilerin, işlemi etkileyen farklı seçenekler varsa, tüm seçenekleri içermesine,
-- olması gereken sonuçların elle yazılarak hazırlandığı,
-- olması gereken sonuçların nasıl bulunduğuna dair net açıklama eklenmiş,
-- varsa kullanılan makrolar, userformlar çalışır durumda içerisinde olmasını sağlayarak,
örnek belge üzerinden sormanızı öneriyorum.

Örnek belge üzerinden sorulmuş soruların cevapsız kalacağını sanmıyorum, bir üye mutlaka çözüme yönelik öneride bulunacaktır.

Örnek belge yükleme yöntemine ilişkin kısa açıklama cevabımın allltındaki İMZA bölümünde var.
.
 
Denemiştim :)
Herşey şeffaf olduğundan işimi görmedi textbox ile label asl renginde kalsaolacaktı fakat bu kodlar herşeyi şeffaf yapıyor
Sadece formu şeffaflaştırmak için
Kod:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

Private Const GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2

Private Const transColor As Long = vbCyan
Dim formhandle As Long

Private Sub UserForm_Initialize()
Call MakeFormTransparent
End Sub

Private Sub MakeFormTransparent()
formhandle = FindWindow(vbNullString, Me.Caption)
SetWindowLong formhandle, GWL_EXSTYLE, GetWindowLong(formhandle, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes formhandle, transColor, 0&, LWA_COLORKEY
Me.BackColor = transColor
End Sub
 
Teşekkür ederim .
İlk olarak bunu denemiştim ama yapamamıştım. Çok makbule geçti çok teşekkür ederim.
 
Teşekkür ederim .
İlk olarak bunu denemiştim ama yapamamıştım. Çok makbule geçti çok teşekkür ederim.
Rica ederim siz kendinize göre geliştirebilirsiniz mesela "Textbox" a veri girince şeffaf "textbox" tan çıkışta normal vb.
Kod:
[SIZE="2"]Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crKey As Long, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long
Public x As String
Private Const GWL_STYLE = (-16)
Private Const GWL_EXSTYLE = (-20)
Private Const WS_EX_LAYERED = &H80000
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2

Private Const transColor As Long = vbCyan
Dim formhandle As Long
[COLOR="Blue"]
Private Sub TextBox1_Change()
If x = Empty Then
x = Me.BackColor
Call MakeFormTransparent
End If
End Sub[/COLOR]

[COLOR="Blue"]Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If x <> Empty Then
Me.BackColor = x
x = Empty
GetWindowLong hwnd, 0
End If
End Sub[/COLOR]

Private Sub MakeFormTransparent()
formhandle = FindWindow(vbNullString, Me.Caption)
SetWindowLong formhandle, GWL_EXSTYLE, GetWindowLong(formhandle, GWL_EXSTYLE) Or WS_EX_LAYERED
SetLayeredWindowAttributes formhandle, transColor, 0&, LWA_COLORKEY
Me.BackColor = transColor
End Sub
[/SIZE]
 
Son düzenleme:
Evet ...
Bu çok faydalı çok işe yarar bir bilgi oldu .
Tekrar teşekkürler
 
Geri
Üst