• DİKKAT

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

Soru hücredeki değer kadar satır numarası atama

  • Konbuyu başlatan Konbuyu başlatan nzmsmz
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Mayıs 2015
Mesajlar
94
Excel Vers. ve Dili
VBA
Merhaba,

B1 hücresinde yazdığım rakam kadar , A1 den itibaren otomatik sıra numarasını atmasını nasıl sağlayabilirim, örneğin B1 içinde 20 yazıyorsa, A1 den başlayıp A20 ye kadar 1-2-3... sıra numarası atmasını istiyorum. B1 de ki rakam değiştikçe ona göre azacacak ya da artacak
 
A1'e 1 yazın.

A2'ye aşağıdaki formülü yazıp aşağıya doğru istediğiniz kadar kopyalayın:

=EĞER(A1="";"";EĞER($B$1>=SATIR();SATIR();""))
 
Teşekkür ederim Yusuf Bey yine yetiştiniz, Bir de şu mümkün mü?

Bu şekilde B den aldığım rakam ile a sütununa ürettiği satır numarasından, C sütünuna A daki verilerin karsılıgınnı düşey ara ile çağırıyorum. Diyelim ki A22 ye kadar satır numarası üretti. Fakat c sütununda A22 den sonra da düşey ara formulu devam ettiği için ve veri yok olarak geldiği için, başka bir formulun döngüsü bozuluyor.

VBA ile A22 ye kadar attığı satır sayısını C22 ye kadar çağırmak C22 den sonraki hücrelerde veri yada formul olmaması lazım. Ya da A11 e kadar satır sayısı ürettiyse C12 den sonra veri veya formul olmaması lazım
 
VBA için örnek dosya olması iyi olur.
 
Dosyanız bayağı karışık. Anlamakta zorlandım ve tam olarak çözemedim. Ancak aşağıdaki kodları Formuldata sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyin. Sayfada hücre seçince ya da hücrelerde değişiklik yaptıkça değer değiştiricinin son değerini A sütunundaki 0'dan büyük sayılar kadar ayarlar:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
    ActiveSheet.Shapes.Range(Array("Spinner 7")).Select
    Selection.Max = WorksheetFunction.CountIf([A:A], ">" & 0)
    Target.Select
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
    ActiveSheet.Shapes.Range(Array("Spinner 7")).Select
    Selection.Max = WorksheetFunction.CountIf([A:A], ">" & 0)
    Target.Select
Application.EnableEvents = True
End Sub
 
Dosyanız bayağı karışık. Anlamakta zorlandım ve tam olarak çözemedim. Ancak aşağıdaki kodları Formuldata sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyin. Sayfada hücre seçince ya da hücrelerde değişiklik yaptıkça değer değiştiricinin son değerini A sütunundaki 0'dan büyük sayılar kadar ayarlar:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
    ActiveSheet.Shapes.Range(Array("Spinner 7")).Select
    Selection.Max = WorksheetFunction.CountIf([A:A], ">" & 0)
    Target.Select
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
    ActiveSheet.Shapes.Range(Array("Spinner 7")).Select
    Selection.Max = WorksheetFunction.CountIf([A:A], ">" & 0)
    Target.Select
Application.EnableEvents = True
End Sub
Değer Değiştirinin son değerini "en büyük değer" olan kısmını, en başta belirtmiş olduğunuz B1 hücresinin içindeki rakama göre uyarlayabiliyormuyuz peki
 
Uyarlanır ama örnek dosyanızda B1 hücresi sayı değil isim sonucunu veren bir formül içeriyor. Genel bilgi olarak

Selection.Max = WorksheetFunction.CountIf([A:A], ">" & 0)

yerine

Selection.Max = Activesheet.[B1]

şeklinde hücreden almasını sağlayabilirsiniz. Örnek dsoyanızdaki gibi B1 hücresinde bir sayı yoksa hata vereceğini unutmayın.
 
iki türlü de olmadı :) başka birşey denemem gerek anlaşılan çok teşekkür ederim ilginize
 
Bir şeyleri yanlış yapıyorsunuz muhtemelen çünkü ekli dosyadan da göreceğiniz üzere verdiğim örnekler istediğinizi yapıyor.

Değer Değiştirici En Büyük Değeri
 
Geri
Üst