Formumuza gelelim. arkadaşlar aşagıdaki adreste bir çalışma var onu uyguluyorum ama Formumuza gelelim diyor ben anlayamadım ne demek istedim bi bakabilirmisiniz.Dediği yer neresi oluyor.
Önce boş bir Excel kitabı açın.
İçinde 4 adet sayfa olsun.
İsimlerini aşağıdaki gibi değiştirin.
AnaSayfa , FiltreSayfası, VeriTablosu, Bilgiler.
VeriTablosu Sayfasında sırasıyla:
A1 = Kayit_No
B1 = Ekip
C1 = Kayit_Olcusu
D1 = Silindi
tablo başlıklarını yazın.
FiltreSayfası sayfasında sırasıyla:
A1 = Kayit_No
A3 = Kayit_No
B1 = Ekip
B3 = Ekip
C1 = Kayit_Olcusu
C3 = Kayit_Olcusu
D1 = Silindi
tablo başlıklarını yazın.
D3 e hiç birşey yazmayın
D2 hücresine H harfini yazın (sebebini en sonunda anlayacaksınız )
Bilgiler Sayfasında sırasıyla:
A4 = Ekip_Id
B4 = Ekip_Adi
tablo başlıklarını yazın ve aşağıda gösterilen hücrelere
a5 =1
B5=Ekip1
a6=2
b6=Ekip2 ...
diye bir kaç kayıt yapın.
Şimdi VBA editörünü açın. (Araçlar/ Makro / VB düzenleyicisi)
bir adet userform (UserForm1) ve bir Adet modül (Module1) ekleyin.
(insert / userform ve insert / module seçenekleri ile)
Modül içine aşağıdaki kodları yapıştırın.
Sub basla()
'formu ekrana getir.
UserForm1.Show
End Sub
Sub filtrele ()
'veri tablosu sayfasındaki tüm veriler içinden
'filtre sayfası a2:c2 hücreleri arasında belirtilen
'kriterlere göre arama yap ve uygun değerleri
'filtre sayfasında a3:c65536 hücrelerine yaz
Sheets("VeriTablosu").Range("A1
65536").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("FiltreSayfası").Range("A1
2"), _
CopyToRange:=Sheets("FiltreSayfası").Range("A3:C65536"), _
Unique:=False
End Sub
Sub Temizle()
'önceki arama kriterlerini temizle
Sheets("FiltreSayfası").Range("A2:C2").ClearContents
'önceki arama sonuçlarını temizle
Sheets("FiltreSayfası").Range("A4
65536").ClearContents
End Sub
Formumuza gelelim.
form içinde şunlar olmalıdır.
TextBox1 (kayıt no alanı için)
ComboBox1 (Ekipler Seçimi için)
TextBox2 (Kayıt Ölçüsü için)
ListBox1 ( verileri listelemek için,
ListBoxun özelliklerinden ColumnHeads=True ve ColumnWidths = 35 pt;100 pt
yapmayı kesinlikle unutmayın)
Toplam 6 adet buton ekleyin
CommandButton1 = KayıtBul
CommandButton2 = Temizle
CommandButton3 = Sil
CommandButton4 = Güncelle
CommandButton5 = Yeni Kayıt
CommandButton6 = Çıkış
olarak etiketleyin.
oluşturduğumuz formun kodlarına ise aşağıdaki kodları kopyalayıp yapıştırın.
Private Sub UserForm_Initialize()
'Form Açılırken veya yeniden yüklenirken yapılacaklar
'Texboxları temizleyelim
TextBox1.Text = ""
TextBox2.Text = ""
'Ekipler Listesini "ComboBox1" temizle ve yeniden doldur.
ComboBox1 = ""
ComboBox1.RowSource = ""
ComboBox1.RowSource = "Bilgiler!B5:B8"
'listbox1 içinde filtreleme sayfasında -varsa- kayıtların tümünü göster
'önce kaç kayıt bulunmuş onu bulalım
http://www.vbasicmaster.com/vbbilgisi.asp?id=12118&sayfa=1&type=mak&b=Excel-de-Veritabanı-işlemleri
Önce boş bir Excel kitabı açın.
İçinde 4 adet sayfa olsun.
İsimlerini aşağıdaki gibi değiştirin.
AnaSayfa , FiltreSayfası, VeriTablosu, Bilgiler.
VeriTablosu Sayfasında sırasıyla:
A1 = Kayit_No
B1 = Ekip
C1 = Kayit_Olcusu
D1 = Silindi
tablo başlıklarını yazın.
FiltreSayfası sayfasında sırasıyla:
A1 = Kayit_No
A3 = Kayit_No
B1 = Ekip
B3 = Ekip
C1 = Kayit_Olcusu
C3 = Kayit_Olcusu
D1 = Silindi
tablo başlıklarını yazın.
D3 e hiç birşey yazmayın
D2 hücresine H harfini yazın (sebebini en sonunda anlayacaksınız )
Bilgiler Sayfasında sırasıyla:
A4 = Ekip_Id
B4 = Ekip_Adi
tablo başlıklarını yazın ve aşağıda gösterilen hücrelere
a5 =1
B5=Ekip1
a6=2
b6=Ekip2 ...
diye bir kaç kayıt yapın.
Şimdi VBA editörünü açın. (Araçlar/ Makro / VB düzenleyicisi)
bir adet userform (UserForm1) ve bir Adet modül (Module1) ekleyin.
(insert / userform ve insert / module seçenekleri ile)
Modül içine aşağıdaki kodları yapıştırın.
Sub basla()
'formu ekrana getir.
UserForm1.Show
End Sub
Sub filtrele ()
'veri tablosu sayfasındaki tüm veriler içinden
'filtre sayfası a2:c2 hücreleri arasında belirtilen
'kriterlere göre arama yap ve uygun değerleri
'filtre sayfasında a3:c65536 hücrelerine yaz
Sheets("VeriTablosu").Range("A1
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("FiltreSayfası").Range("A1
CopyToRange:=Sheets("FiltreSayfası").Range("A3:C65536"), _
Unique:=False
End Sub
Sub Temizle()
'önceki arama kriterlerini temizle
Sheets("FiltreSayfası").Range("A2:C2").ClearContents
'önceki arama sonuçlarını temizle
Sheets("FiltreSayfası").Range("A4
End Sub
Formumuza gelelim.
form içinde şunlar olmalıdır.
TextBox1 (kayıt no alanı için)
ComboBox1 (Ekipler Seçimi için)
TextBox2 (Kayıt Ölçüsü için)
ListBox1 ( verileri listelemek için,
ListBoxun özelliklerinden ColumnHeads=True ve ColumnWidths = 35 pt;100 pt
yapmayı kesinlikle unutmayın)
Toplam 6 adet buton ekleyin
CommandButton1 = KayıtBul
CommandButton2 = Temizle
CommandButton3 = Sil
CommandButton4 = Güncelle
CommandButton5 = Yeni Kayıt
CommandButton6 = Çıkış
olarak etiketleyin.
oluşturduğumuz formun kodlarına ise aşağıdaki kodları kopyalayıp yapıştırın.
Private Sub UserForm_Initialize()
'Form Açılırken veya yeniden yüklenirken yapılacaklar
'Texboxları temizleyelim
TextBox1.Text = ""
TextBox2.Text = ""
'Ekipler Listesini "ComboBox1" temizle ve yeniden doldur.
ComboBox1 = ""
ComboBox1.RowSource = ""
ComboBox1.RowSource = "Bilgiler!B5:B8"
'listbox1 içinde filtreleme sayfasında -varsa- kayıtların tümünü göster
'önce kaç kayıt bulunmuş onu bulalım
http://www.vbasicmaster.com/vbbilgisi.asp?id=12118&sayfa=1&type=mak&b=Excel-de-Veritabanı-işlemleri
