bir hücreye girdiğim sayısal değerin, diğer hücrede doğal sayıların bir sayı doğrusu şeklinde gösterilmesi

Katılım
20 Kasım 2018
Mesajlar
3
Excel Vers. ve Dili
etablo türkçe
Merhaba arkadaşlar,

aşağıdaki işlemi gerçekleştirebileceğim formül ve işlevin neler olabileceği hakkında yardımcı olabilirseniz çok memnun olurum.


A1 hücresine “5” değerini girdiğimde, bu değer referans alınarak b1 hücresinde sonucun “1,2,3,4,5” şeklinde görünmesini istiyorum.

A2 hücresine “3” değerini girdiğimde, b2 hücresinde sonucun, b1 hücresinde görülen en büyük değerin devamı olarak “6,7,8” şeklinde görünmesini istiyorum.

A2 hücresine “3” değerini girdiğimde, a1 hücresine her hangi bir sayısal değer girilmemişse, o zaman b2 hücresinde sonucun “1,2,3” şeklinde görünmesini istiyorum.



saygılarımla.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba, foruma hoşgeldiniz.

Umarım yanlış anlamadım (makro ile çözüm öneresidir).
-- Alt taraftan işlem yapılacak sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- Açılacak VBA ekranında sağ taraftaki boş alana aşağıdaki kod blokunu yapıştırın,
-- Sayfaya ekleyeceğiniz bir düğme/şekil/metin kutusuna fareyle sağ tıklayıp MAKRO ATAyı seçin,
-- Göreceğiniz küçük ekranda aşağıdaki kod'un adını ( SAYILAR_BRN ) seçerek işlemi onaylayın.

A sütununa değerler yazıp, bu şekil/düğme/metin kutusuna fareyle tıkladığınızda istediğiniz işlem gerçekleşecektir.

Rich (BB code):
Sub SAYILAR_BRN()
[B:B].ClearContents: bas = 1
For brn = 1 To Cells(Rows.Count, 1).End(3).Row
    If brn > 1 Then
        If Cells(brn - 1, 1) = "" Then bas = brn
    End If
    ilk = 1
    If brn > 1 Then
        If Cells(brn - 1, 1) = "" Then
            ilk = 1
        Else: ilk = WorksheetFunction.Sum(Range("A" & bas & ":A" & brn - 1)) + 1
        End If: End If
    For sayi = ilk To ilk + Cells(brn, 1) - 1: metin = metin & "," & sayi
    Next: Cells(brn, 2) = Mid(metin, 2, Len(metin)): metin = ""
Next: MsgBox "İşlem tamamlandı.", vbInformation, "..:: Ömer BARAN ::.."
End Sub
 
Katılım
20 Kasım 2018
Mesajlar
3
Excel Vers. ve Dili
etablo türkçe
@ÖmerBaran hoşbulduk, kolaylık dilerim

Cevabınız ve çabukluğunuz için teşekkür ederim.
Bazı bilgileri eksik verdiğimi anlıyorum; ben hesap tablosu olarak google drive e-tablo kullanıyorum genellikle. dosyalarım bilgisayarıma sadece yedeklendiğinde geliyor.
Aşağıda yapmayı arzu ettiğim formülü, girdiğim hücrede çalışan bir işlev olarak yapmam gerekiyor çünkü,
apple'ın page isimli bir programında oluşturduğum proforma invoice şablonundaki hesap hücrelerinden birine yapıştıracağım. bu bakımdan makro kullanma imkanım yok. belki de vardır ama makro ile o program ya da oluşturduğum o dosyaya mahkum olmak istemiyorum.

Bu sebeple, yapmaya çalıştığım formülü bir işlev ya da işlevler silsilesi ile gerçekleştirmek benim için en sağlıklı çare olacaktır.

Saygılarımla


Merhaba, foruma hoşgeldiniz.


Umarım yanlış anlamadım (makro ile çözüm öneresidir).
-- Alt taraftan işlem yapılacak sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçin,
-- Açılacak VBA ekranında sağ taraftaki boş alana aşağıdaki kod blokunu yapıştırın,
-- Sayfaya ekleyeceğiniz bir düğme/şekil/metin kutusuna fareyle sağ tıklayıp MAKRO ATAyı seçin,
-- Göreceğiniz küçük ekranda aşağıdaki kod'un adını ( SAYILAR_BRN ) seçerek işlemi onaylayın.

A sütununa değerler yazıp, bu şekil/düğme/metin kutusuna fareyle tıkladığınızda istediğiniz işlem gerçekleşecektir.

Rich (BB code):
Sub SAYILAR_BRN()
[B:B].ClearContents: bas = 1
For brn = 1 To Cells(Rows.Count, 1).End(3).Row
    If brn > 1 Then
        If Cells(brn - 1, 1) = "" Then bas = brn
    End If
    ilk = 1
    If brn > 1 Then
        If Cells(brn - 1, 1) = "" Then
            ilk = 1
        Else: ilk = WorksheetFunction.Sum(Range("A" & bas & ":A" & brn - 1)) + 1
        End If: End If
    For sayi = ilk To ilk + Cells(brn, 1) - 1: metin = metin & "," & sayi
    Next: Cells(brn, 2) = Mid(metin, 2, Len(metin)): metin = ""
Next: MsgBox "İşlem tamamlandı.", vbInformation, "..:: Ömer BARAN ::.."
End Sub
 
Katılım
20 Kasım 2018
Mesajlar
3
Excel Vers. ve Dili
etablo türkçe
Merhaba arkadaşlar,

Yukarıda yardımını talep ettiğim problemimi uzman @Ömer BARAN'ın önerdiği makrolu çözüm kesin çözüm olsa da;
benim şartlarım hücre içinde formül-işlev ile çözülecek durumda. Bu şekilde çözüm üreten HD Donanım haber forumundan @cdemir isimli arkadaşın ürettiği çözümü buradan bir başka arkadaşa faydası olur umuduyla sizinle paylaşmak istiyorum.

"İsteğinize uygun şekilde formülle ayarlama yaptım. Yanlız ek bilgi ve formüller de girmem gerekti.
C ve D sütünlarına ek fomül E sütununa ek bilgi girdim. E sütununda 1 den 30 kadar sayıları ayarladım. 99'a kadar sayı ekleyebilirsiniz. 99 dan sonrası 3 basamaklı sayılara gireceği için formülde yeniden düzenleme yapılması gerekir.
C D sütünlarındaki formüller de B sütünundakinin içine gömülebilir.
Ama karmaşık olmasın diye ayarlamadım. İsterseniz siz ayarlayabilirsiniz.
Bu işlem makro ile sayı sınırı da olmadan çok daha basit şekilde yapılabilir. "
örnek dosya aşağıdaki linkte mevcuttur.

Saygılarımla

http://dosya.co/idhm1i81u3ly/Örnek.xlsx.html
 
Üst