• DİKKAT

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

Butonla Sıra Numarası Verme

eklediğiniz dosyanın ilk açılışında could not load an object because it is not available on this machine hatası alıyorum muhtemelen bundan dolayı bende listview gözükmüyordur.
Evet listview olmadığı için diyor.
Başka bir dosyaya bakıyor olmayasınız.:cool:
 
Abi o kadarda değil ya, yapmayın

Kod:
Private Sub CommandButton1_Click()
Dim Satir As Long, sh As Worksheet
' SAYFADA VERİYİ BULUP, KAYDI DEĞİŞTİRİR
If ListView1.SelectedItem Is Nothing Then
    MsgBox "Lütfen listeden bir seçim yapınız!", vbCritical, "UYARI"
    Exit Sub
End If
Set sh = Sheets("Sayfa1")
Satir = ListView1.SelectedItem.Index
Satir = ListView1.SelectedItem.Index + 2 ' 13 RAKAMINI SÜTUN SAYINIZA GÖRE AYARLAYIN
sh.Cells(Satir, 2) = TextBox1.Text
sh.Cells(Satir, 3) = TextBox2.Text
sh.Cells(Satir, 4) = TextBox3.Text
sh.Cells(Satir, 5) = TextBox4.Text
Call liste
End Sub

Private Sub ListView1_Click()
Dim sat As Long
sat = ListView1.SelectedItem.Index
TextBox1.Value = ListView1.SelectedItem.Text
TextBox2.Value = ListView1.SelectedItem.SubItems(1)
TextBox3.Value = ListView1.SelectedItem.SubItems(2)
TextBox4.Value = ListView1.SelectedItem.SubItems(3)

End Sub

Private Sub UserForm_Initialize()
'******* 1. LISTVIEW' U DÜZENLİYORUZ ******
Me.Caption = "evrengizlen@hotmail.com"
Set sh = Sheets("Sayfa1")

'Sheets("Sayfa1").Columns.AutoFit ' EXCEL SAYFASINDAKİ SÜTUN GENİŞLİĞİNİ OTOMATİK AYARLAR

' ETİKETLERİ OTOMATİK OLARAK ALIYORUZ, BURADAKİ Sh.Range("A1")) İFADESİ SÜTUNUN BAŞLIĞIDIR
Label1 = sh.Range("B2")
Label2 = sh.Range("C2")
Label3 = sh.Range("D2")
Label4 = sh.Range("E2")


Son = sh.Cells(65536, 1).End(xlUp).Row
yeni = True
With UserForm1.ListView1
  .ListItems.Clear
  .Gridlines = True
  .View = lvwReport
  .FullRowSelect = True
  With .ColumnHeaders
' LISTVIEW DE SÜTUN FAZLAYSA İLAVE EDİN
' SAYFADAN BİLGİLERİ, BAŞLIKLARI ALIR " Range("A1").Width " Excel tablosundan Sütun genişliğini alır
    .Add , , sh.Cells(2, 2), sh.Range("B1").Width
    .Add , , sh.Cells(2, 3), sh.Range("C1").Width
    .Add , , sh.Cells(2, 4), sh.Range("D1").Width
    .Add , , sh.Cells(2, 5), sh.Range("E1").Width
    .Add , , "Satir", 0
   End With
End With
Call liste

End Sub


Private Sub kayıt_Click()
' SAYFAYA YENİ KAYIT YAPAR
Set sh = Sheets("Sayfa1")
If TextBox1.Text = "" Then: MsgBox "Bölge giriniz", vbCritical, "HATALI GİRİŞ": Exit Sub
Son = sh.Cells(65536, "B").End(xlUp).Row + 1
sh.Cells(Son, 2) = TextBox1.Text
sh.Cells(Son, 3) = TextBox2.Text
sh.Cells(Son, 4) = TextBox3.Text
sh.Cells(Son, 5) = TextBox4.Text
 
Set sh = Nothing
Call liste
End Sub

Private Sub UserForm_Click()

End Sub
Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)

End Sub
Private Sub liste()
Dim sat As Long, sh As Worksheet, i As Long
ListView1.ListItems.Clear
Set sh = Sheets("Sayfa1")
sat = sh.Cells(Rows.Count, "B").End(xlUp).Row
For i = 3 To sat
    ListView1.ListItems.Add , , sh.Cells(i, "B").Value
    ListView1.ListItems(i - 2).SubItems(1) = sh.Cells(i, "C").Value
    ListView1.ListItems(i - 2).SubItems(2) = sh.Cells(i, "D").Value
    ListView1.ListItems(i - 2).SubItems(3) = sh.Cells(i, "E").Value
Next i
ListView1.SelectedItem = Nothing
End Sub

kod bu şekilde ama çalışmıyor, Sayfa1 de var, listview de ekledim.
 
evet hocam 64 bit

hocam çalıştırdım, sizin yapmış olduğunuz kodlamayı ilk göndermiş olduğum dosyadaki userformla değiştirdim çalıştı, çok teşekkürler hocam

hocam başınızı ağrıtacağım ama konu başlığında belirttiğim gibi ilk sutuna otomatik sıra numarası verdirmek istiyorum bunu yapabilirmiyiz. Saygılar
 
evet hocam 64 bit

hocam çalıştırdım, sizin yapmış olduğunuz kodlamayı ilk göndermiş olduğum dosyadaki userformla değiştirdim çalıştı, çok teşekkürler hocam

hocam başınızı ağrıtacağım ama konu başlığında belirttiğim gibi ilk sutuna otomatik sıra numarası verdirmek istiyorum bunu yapabilirmiyiz. Saygılar

ben 32 bit kullanıyorum.Büyük bir ihtimalle o yüzden oldu.
Şimdi sıra no yu yapacam.:cool:
 
sıra no yerine id kullanın benzersiz en büyük noyu verir.
Kırmızı kodu ekledim.
Kod:
Private Sub kayıt_Click()
' SAYFAYA YENİ KAYIT YAPAR
Set sh = Sheets("Sayfa1")
If TextBox1.Text = "" Then: MsgBox "Bölge giriniz", vbCritical, "HATALI GİRİŞ": Exit Sub
son = sh.Cells(65536, "B").End(xlUp).Row + 1
[B][COLOR="Red"]sh.Cells(son, 1).Value = WorksheetFunction.Max(sh.Range("A3:A" & Rows.Count)) + 1[/COLOR][/B]
sh.Cells(son, 2) = TextBox1.Text
sh.Cells(son, 3) = TextBox2.Text
sh.Cells(son, 4) = TextBox3.Text
sh.Cells(son, 5) = TextBox4.Text
 
Set sh = Nothing
Call liste
End Sub
 
Hocam vaktiniz olursa birde excel ve listviewden veri silme kodunu ekleyebilirmisiniz. Saygılar, tekrar iyi geceler.
 
Hocam bu kodlamada bir türlü satır olarak istediğim noktadan başlatamadım, A3:A denilmiş ama a1 den başlıyor, satır kaydırdığım zamanda üst satırlara 1 atıyor, bunu nasıl istediğim satırdan başlatıp sıralamaya 1 den başlayacak şekilde ayarlarım.

Kod:
Private Sub kayıt_Click()
' SAYFAYA YENİ KAYIT YAPAR
Set sh = Sheets("Sayfa1")
If TextBox1.Text = "" Then: MsgBox "Bölge giriniz", vbCritical, "HATALI GİRİŞ": Exit Sub
son = sh.Cells(65536, "B").End(xlUp).Row + 1
sh.Cells(son, 1).Value = WorksheetFunction.Max(sh.Range("A3:A" & Rows.Count)) + 1
sh.Cells(son, 2) = TextBox1.Text
sh.Cells(son, 3) = TextBox2.Text
sh.Cells(son, 4) = TextBox3.Text
sh.Cells(son, 5) = TextBox4.Text
sh.Cells(son, 6) = ComboBox1.Text

Set sh = Nothing
Call liste

End Sub
 
Hocam bu kodlamada bir türlü satır olarak istediğim noktadan başlatamadım, A3:A denilmiş ama a1 den başlıyor, satır kaydırdığım zamanda üst satırlara 1 atıyor, bunu nasıl istediğim satırdan başlatıp sıralamaya 1 den başlayacak şekilde ayarlarım.

Kod:
Private Sub kayıt_Click()
' SAYFAYA YENİ KAYIT YAPAR
Set sh = Sheets("Sayfa1")
If TextBox1.Text = "" Then: MsgBox "Bölge giriniz", vbCritical, "HATALI GİRİŞ": Exit Sub
son = sh.Cells(65536, "B").End(xlUp).Row + 1
sh.Cells(son, 1).Value = WorksheetFunction.Max(sh.Range("A3:A" & Rows.Count)) + 1
sh.Cells(son, 2) = TextBox1.Text
sh.Cells(son, 3) = TextBox2.Text
sh.Cells(son, 4) = TextBox3.Text
sh.Cells(son, 5) = TextBox4.Text
sh.Cells(son, 6) = ComboBox1.Text

Set sh = Nothing
Call liste

End Sub
B sütununda en son dolu satıra bakıyor.
Oradan satır no yo alıyor , 1 ekliyor.dolayısı ile devemlı en son satırın 1 altına kaydedilmiş oluyor.A3 dediğiniz yer başka görev yapıyor.
Maksimum değeri a3 ile a sonsatıra kadar yerde bakıyor.eğer 1nci satırdan devam etmek isterseniz (maksimum için bakılacak yer) a3 yazan yere a1 yazın.:cool:
 
A8 satırından başlamak istiyorum mesela hocam nasıl başlarım? A8:1, A9:2, A10:3 ... olacak şekilde
 
ilgili satırı aşağıdaki ile değiştirin.:cool:
Kod:
son = sh.Cells(65536, "B").End(xlUp).Row + 1
[B][COLOR="Red"]if son < 8 then son=8[/COLOR][/B]
sh.Cells(son, 1).Value = WorksheetFunction.Max(sh.Range("A[B][COLOR="Red"][SIZE="4"]8[/SIZE][/COLOR][/B]:A" & Rows.Count))
 
Hocam çok teşekkürler,

kod bilmek böyle birşey olsa gerek, bilmeyincede ufak bir noktada takılıyoruz böyle,

hocam benim bu kodlarla veri girdiğim yerde tablolar var bu tabloları dolu satır olarak görüp tablonun altından numara vermeye başlıyor, tabloyu kaldırdığım zaman a8 satırından, tabloya giriş yaptırabilirmiyim. boş tabloyu neden dolu görüyorki?
 
Hocam çok teşekkürler,

kod bilmek böyle birşey olsa gerek, bilmeyincede ufak bir noktada takılıyoruz böyle,

hocam benim bu kodlarla veri girdiğim yerde tablolar var bu tabloları dolu satır olarak görüp tablonun altından numara vermeye başlıyor, tabloyu kaldırdığım zaman a8 satırından, tabloya giriş yaptırabilirmiyim. boş tabloyu neden dolu görüyorki?

formül varsa boşsada dolu görür.:cool:
 
Geri
Üst