İyi günler...
B sütunundaki satırların dolu olmasına bakarak A sütununda sıra numarası makro ile nasıl verdirebiliriz?
Sub siranover
...B sütununun dolu olduğu satıra kadar (değişken)
... A sütununda sıra no verecek kod
end sub
Sıra numarası verdirme
- Hamurcu
- Mesajlar: 265
- Kayıt: 06 Ağu 2012, 00:14
- İşletim Sisteminiz: Windows 10/11 - Pardus Linux
- LibreOffice Sürümü: 7.x
Re: Sıra numarası verdirme
Merhaba,
Açtığınız Çalışma Kitabının ilk sayfasındaki (Çizelge1) B sütununa ilk satırından son satırına kadar bakıp, eğer boş değilse A sütununa sıradaki numarayı vermek için aşağıdaki kodu kullanabilirsiniz.
İyi çalışmalar.
Açtığınız Çalışma Kitabının ilk sayfasındaki (Çizelge1) B sütununa ilk satırından son satırına kadar bakıp, eğer boş değilse A sütununa sıradaki numarayı vermek için aşağıdaki kodu kullanabilirsiniz.
İyi çalışmalar.
Kod: Tümünü seç
Sub DoluSatirlariNumaralandir()
Dim Kitap As Object
Kitap = ThisComponent
Dim Sayfa As Object
Sayfa = Kitap.getSheets().getByIndex(0) ' Buradaki 0 ilk sayfayı tanımlar
Dim SatirSayisi As Long
SatirSayisi=Sayfa.getCellRangeByName("B:B").Rows.Count ' B:B ibaresi B sütununun tamamı demektir
SatirNo=0
For r = 0 To SatirSayisi-1 Step 1
Hucre=Sayfa.getCellByPosition( 0, r ) ' Önce A sütunundaki satırda daha önceden yapılmış bir numaralandırma varsa onu silemk gerekecektir. Bu sebeple A sütunundaki ilgili hücrenin adresi öğrenilir
Hucre.String="" ' Öğrenilen hücreye yokluk/boşluk girilir ve bu sayede bir önceki numaralandırma silinmiiş olur
Hucre=Sayfa.getCellByPosition( 1, r ) ' Sonra B sütunundaki hücrenin adresi öğrenilir
If Hucre.Type = com.sun.star.table.CellContentType.EMPTY Then Goto Atla ' Eğer bu hücre boşsa aşağıdaki satırlar ATLANIR
SatirNo=SatirNo+1
Hucre=Sayfa.getCellByPosition( 0, r ) ' A sütununun adresi öğrenilir
Hucre.value=SatirNo ' Sıradaki numara verilir
Atla:
Next r
End Sub
Re: Sıra numarası verdirme
Sayın Hamurcu,
Kod çalışıyor, fakat durmuyor. Devamlı çılışıyor gözüküyor. Kodda hata mı var acaba.
Bir de sıra numarasını A1'den itibaren veriyor. Sıra numarası A2'den başlayacak.
Kod çalışıyor, fakat durmuyor. Devamlı çılışıyor gözüküyor. Kodda hata mı var acaba.
Bir de sıra numarasını A1'den itibaren veriyor. Sıra numarası A2'den başlayacak.
- Hamurcu
- Mesajlar: 265
- Kayıt: 06 Ağu 2012, 00:14
- İşletim Sisteminiz: Windows 10/11 - Pardus Linux
- LibreOffice Sürümü: 7.x
Re: Sıra numarası verdirme
Merhaba,
Kod ilk hücreden son hücreye kadar çalışacak şekilde.
Eğer belirli bir aralıkta çalışşın istiyorsan aşağıdaki kısmı düzenlemen gerekir.
Örneğin "B2:B250" gibi.
Sıra numarasının A1'den başlaması gayet normal çünkü biz B sütununun tamamına baktırdığımız için karşılığında A sütununun da tamamını numaralandıracaktır.
Yukarıdaki düzenlemeyi yaparsan istediğin olacaktır.
İyi çalışmalar.
Kod ilk hücreden son hücreye kadar çalışacak şekilde.
Eğer belirli bir aralıkta çalışşın istiyorsan aşağıdaki kısmı düzenlemen gerekir.
Kod: Tümünü seç
SatirSayisi=Sayfa.getCellRangeByName("B:B").Rows.Count ' B:B ibaresi B sütununun tamamı demektir
Sıra numarasının A1'den başlaması gayet normal çünkü biz B sütununun tamamına baktırdığımız için karşılığında A sütununun da tamamını numaralandıracaktır.
Yukarıdaki düzenlemeyi yaparsan istediğin olacaktır.
İyi çalışmalar.
Re: Sıra numarası verdirme
Maalesef "B2:B250" yaptım, yine A1'den sıra numarası verdi.
Güncelleme: For satırını "For 1" değiştirince düzeldi, tamamdır.
Güncelleme: For satırını "For 1" değiştirince düzeldi, tamamdır.