• DİKKAT

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

Son sayfayı seçme ve hücre silme

  • Konbuyu başlatan Konbuyu başlatan ozmacig
  • Başlangıç tarihi Başlangıç tarihi
Katılım
13 Mart 2007
Mesajlar
136
Excel Vers. ve Dili
türkce
Merhaba Arkadaşlar ..

İki adet sorum olacak.

1-Yapmış olduğum bir excel çalışma kitabında yıl sonu işlemleri diye bir menü oluşturmak istiyorum. Bu menüdeki kodları çalıştırdığımda beli bir sayfadan başlayarak son sayfaya kadar beli aralıktaki hücrelerin içinin temizlemesini istiyorum (Örnek: ("B4:M16")). son sayfayı nasıl bulurum

örnek:

Private Sub Label48_Click()

If Application.InputBox("Şifre Giriniz") = 123 Then

For i = 44 To 171' 171 yerine en son sayfa olmasını istiyorum....
Sheets(i).Range("B4:M16").ClearContents
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("B4:M16").Select
Selection.NumberFormat = "0.00"
Sheets("VERİ2").Select
Range("A3:j1611").ClearContents

Next i
cevap = MsgBox("Çalışma kitabını kaydetmek istiyormusun ?", vbYesNo)
If cevap = vbYes Then

ChDrive "c"

ChDir "C:\Documents and Settings\sybase\Desktop\"
ActiveWorkbook.SaveAs Filename = yedek
Application.Dialogs(xlDialogSaveAs).Show
End If



MsgBox "YILSONU İŞLEMLERİ YAPILMIŞTIR." & vbLf & _
"ozmacig", vbOKOnly + vbInformation, "ozmacig"
Else
MsgBox "şifre yanlış"

End If
End Sub

2- Arkadaşlar ayrıca formuma Sil adında bir Buton oluşturdum . Bu butona tıkladığımda ListView den seçtiğim hücreyi silip yenden sıra numarası veriyor. Ancak ilk oluşturduğum hücreyi sil dediğimde hata alıyorum. Hata aldığı Kodu aşağıda belirtim . Yardımlarınızı bekliyorum şimdiden teşekkürler.


Private Sub CommandButton3_Click()
' SAYFADA VERİYİ BULUP SİLER
Y = ListView1.SelectedItem.Index
X = ListView1.ListItems(Y).ListSubItems(11).Text ' 13 RAKAMINI SÜTUN SAYINIZA GÖRE AYARLAYIN


cevap = MsgBox("Silmek istediğinizden emin misiniz?", vbYesNo, "SİLME ONAYI")

If cevap = vbYes Then
Set sh = Sheets("VERİ2")
sh.Rows(X + 1).Delete
Set sh = Nothing

'6 - Kayıt silme işleminde sıra numarası düzeni bozulacağı için verileri sıralayarak yeniden sıra numarası veriyoruz.

Range("A2:K65536").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Range("A2") = 1
Range("A2").AutoFill Destination:=Range("A2:A" & Range("A65536").End(3).Row), Type:=xlFillSeries' hata veren kod...

TextBox1.Text = ""
TextBox5.Text = ""
ComboBox3.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
TextBox9.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
ComboBox1.Text = ""
ComboBox2.Text = ""

ListeGuncelle
End If
With ListView1
.SelectedItem = .ListItems(.ListItems.Count) ' en sonu seçer
.ListItems(.ListItems.Count).EnsureVisible ' en sonu gösterir
End With
End Sub
 
171 yerine Worksheets.Count ifadesini kullanabilirsiniz sanıyorum.
 
171 yerine ActiveWorkbook.sheets.count kulanılması gerekiyor . problemi cözdüm çok sağol hocam bana yol gösterdin.
 
2. sorumu çöze bilir misiniz ..

'6 - Kayıt silme işleminde sıra numarası düzeni bozulacağı için verileri sıralayarak yeniden sıra numarası veriyoruz.

Range("A2:K65536").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Range("A2") = 1
Range("A2").AutoFill Destination:=Range("A2:A" & Range("A65536").End(3).Row), Type:=xlFillSeries' hata veren kod...
 
Maaalesef beni aşıyor :(
 
2. sorumu çöze bilir misiniz ..

'6 - Kayıt silme işleminde sıra numarası düzeni bozulacağı için verileri sıralayarak yeniden sıra numarası veriyoruz.

Range("A2:K65536").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Range("A2") = 1
Range("A2").AutoFill Destination:=Range("A2:A" & Range("A65536").End(3).Row), Type:=xlFillSeries' hata veren kod...


Hatalı kısmı aşağıdaki kod ile değiştirerek deneyiniz.
Kod:
Range("A2") = 1
    Range("A3") = "=R[-1]C+1"
    Range("A3:A3").AutoFill Destination:=Range("A3:A" & [A65536].End(3).Row), Type:=xlFillDefault
Kolay Gelsin
 
Geri
Üst