Satır silince formüller bozulmasın

Katılım
11 Şubat 2007
Mesajlar
28
Excel Vers. ve Dili
Excel 2003 Türkçe
A sütünunda 1 den 100 e kadar sıralanmış bir liste var. Bu listeden diyelimki 3. 4. ve 5. satırları sildiğimde numaralandırma yeniden başlasın. Aradan satır silindiğinde numaralandırma
1
2
6
7
8
.
.
. diye devam etmesin. Mevcut numaralar yeniden kaldığı yerden başlasın. Bunu A2 hücresine =A1+1 şeklinde formüle edip kopyaladığımızda aradan satırlar silinince BAŞVURU hatası veriyor. Yol gösterecek arkadaşımız olursa sevinirim.
 
Katılım
31 Ocak 2007
Mesajlar
228
Excel Vers. ve Dili
office xp tr
sayfa kod bölümüne yapıştırın sayfayı her aktif ettiğinizde sıra no güncellenir.
Private Sub Worksheet_Activate()
On Error Resume Next
For i = 1 To WorksheetFunction.CountA([b1:b65000])
Cells(i + 1, 1) = i
Next i
End Sub
 
Katılım
11 Şubat 2007
Mesajlar
28
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayfa kod bölümüne sayfa sekmesi üzerine sağ tıklayıp Kod görüntüle komutunu verip açılan pencereye yapıştırdım. Ama satırları silince numaralandırma yeniden başlamıyor. Acaba atladığım birşey mi var?
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Numaralandırmak istediğiniz aralığın ilk hücresine =SATIR(A1) yazın.
SATIR fonksiyonu, başvuruda bulunduğunuz satırın numarasını döndürür. Örneğin, =SATIR(A1) fonksiyonu 1 numarayı döndürür.

Doldurma tutamağını (dolgu tutamacı: Seçimin alt sağ köşesindeki küçük siyah kare. Dolgu tutamacının üzerine geldiğinizde, işaretçi siyah çarpı işaretine dönüşür.) , doldurmak istediğiniz aralık boyunca sürükleyin.

NOT: Yalnız satır ekleme yapınca numaralndırma bozuluyor, silmede sorun yok.
 
Katılım
31 Ocak 2007
Mesajlar
228
Excel Vers. ve Dili
office xp tr
sildikten sonra sayfadan çıkıp tekrar girdiğinizde kendini günceller.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Alternatif olarak aşağıdaki kodu deneyin. Sayfanın kod sayfasına kopyalanacaktır. Satırı sildiğinizde kendiliğinden çalışır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Application.EnableEvents = False
[a1] = 1
[a2] = 2
[a1:a2].AutoFill Destination:=Range("A1:A" & [a65536].End(3).Row)
Application.EnableEvents = True
End Sub
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Hangi h&#252;creden itibaren ba&#351;latacaksan&#305;z ona g&#246;re de&#287;i&#351;tirebilirsiniz

A1 h&#252;cresinden itibaren yaz&#305;lacaksa =SATIRSAY($A$1:A1) yaz&#305;p a&#351;a&#287;&#305; do&#287;ru &#231;ekiniz.

A2 h&#252;cresinden itibaren yaz&#305;lacaksa =SATIRSAY($A$2:A2) yaz&#305;p a&#351;a&#287;&#305; do&#287;ru &#231;ekiniz.
 
Katılım
11 Şubat 2007
Mesajlar
28
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın Acemi1
evet satır fonksiyonuyla satır numarasını aldırırız da, numaralar her zaman 1 den başlamıyor ki 100 den de başlayabilir, 1000 den de başlayabilir. O yüzden o çözüm olmuyor.
 
Katılım
11 Şubat 2007
Mesajlar
28
Excel Vers. ve Dili
Excel 2003 Türkçe
Sayın Leventm
İkinci verdiğiniz kod çalıştı, kod içerisinde de zaten belli. A1 ve A2 hücrelerine 1ve 2 değerleri atandığından sürekli olarak numaralandırmayı 1 den başlatıyor. Ama elimizdeki kod da başlangıç hücrelerinin değerlerini değiştirirsek istediğimize ulaşmış oluruz. Bu haliyle genel bir kod olmuş.
Harikasınız


Çok teşekkür ederim
 
Üst