Soru Macro SmallScroll değerini otomatik veya hücredenalma

Perfect_BoY22

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba,
kendime yaptığım bir Excelde Macro yazarken ActiveWindow.SmallScroll Down:=150 burada yazan 150 sayısını otomatik hesaplamasını istedim ama bunu yapamadım. sonra dedim ki belirli bir hücreden alsın, o hücrede ben formülle yazarım, ama bunu da yapamadım :)
Yardımcı olmanızı rica ediyorum.

Yapmak istediğim şu şekilde,

-A1 ile A500 arasında bir listem var... (bu kısma ben elle veri ekliyorum, şuan da 150. satırdayım.)
-Bu listeyi, (A1:A500 arasını) seçerek B1'e değerleri yapıştırıyorum.
-bu listenin 150 tanesi dolu kalan 350 tanesini manuel seçerek siliyorum, (boş olsa dahi) sonra bu listeyi A'dan Z'ye sıralama yapıyorum...

Ben ise;
Bu tabloya veri eklemeye devam ettikçe, SmallScroll Down:=150 olan kısım, 151,152 diye devam etmesini, ayrıca kalan 350 tanesini seçerek silmek istiyorum. tabii burası da 350,349,348 diye azalması gerekmekte...
Bildiğiniz üzere kod şu şekilde,
ActiveWindow.SmallScroll Down:=150
Range("B151").Select


ama bu konuda bir yazı bulamadım.

şimdiden yardımlarınız için teşekkürler.
iyi geceler.
 
Merhaba @Perfect_BoY22

Merhaba,
kendime yaptığım bir Excelde Macro yazarken ActiveWindow.SmallScroll Down:=150 burada yazan 150 sayısını otomatik hesaplamasını istedim ama bunu yapamadım. sonra dedim ki belirli bir hücreden alsın, o hücrede ben formülle yazarım, ama bunu da yapamadım..
Yapmak istediğim...-A1 ile A500 arasında bir liste....bu kısma ben elle veri ekliyorum....
-Bu listeyi, (A1:A500 arasını) seçerek B1'e değerleri yapıştırıyorum.
-bu listenin 150 tanesi dolu kalan 350 tanesini manuel seçerek siliyorum, (boş olsa dahi) sonra bu listeyi A'dan Z'ye sıralama yapıyorum...
Bu tabloya veri eklemeye devam ettikçe, SmallScroll Down:=150 olan kısım, 151,152 diye devam etmesini, ayrıca kalan 350,349,348 ....

Sorularınızı, cevabımın altındaki İMZA bölümünde (okuyunuz) yer alan açıklamalar
doğrultusunda hazırlayacağınız örnek belgeler üzerinden sorarsanız, sonuca ulaşmanız kolaylaşır.

Anlayamadığım; alana veriler elle giriliyorsa (bunun anlamı alanda formül olmadığı verilerin zaten değer olduğu)
neden DEĞER olarak yapıştırdığınızı vurguluyorsunuz, bunun nedeni BİÇİMlendirmeyle mi ilgilidir.
Ayrıca önemli olan yapılacak işlem ve bunun için Scroll işlemine gerek olduğunu sanmıyorum.
Kaldı ki Scroll değeri kod içerisinde de belirtilebilir/bulunabilir/hesapanabilir, sayfadan da aldırılabilir.
İşlem için sayfa üzerinde bir düğme mi kullanıyorsunuz.

Şu an 150 satır veriniz olduğunu belirtmişsiniz. Diyelim veri girmeye devam ettiniz ve veri miktarı 180 oldu ne yapılacak?
Verileri A-Z sıralamasına tab tuttuğunuz belirttiğinize göre veriler sayısal değil METİNsel verilerdir doğru mu?
Önce sıralama yapıp, sonra silme yapıyorum deseydiniz diyecektim ki; alfabetik sıralama sonucunda
(alandaki veri miktarı neyse tümü sıralanacak) ilk 150 veriyi istiyorsunuz.
Ancak bu veri adetinin de her seferinde (burasını da anlayamadım) artacağını (silinecek kısım azalarak) da yazmışsınız.

Bence belgenizdeki sayfanın birkaç adet kopyasını alıp (her bir kopya sayfada veri miktarı farklı olsun),
bu kopya sayfalar üzerinde de yapılacak işleme dair açıklama yazarak olması gerekeni örneklendirirseniz iyi olur.
Ayrıca kullandığınız makro kodlarının da belge içerisinde olmasını sağlarsınız.

İyi çalışmalar dilerim.
 
Bilgilendirme için teşekkür ederim Ömer Bey, örnek bir dosya hazırladım ayrıca açıklamasını da yazdım. umarım derdimi anlatabilmişim. Orijinal dosyayı göndermedim çünkü çok karışık gelebilirdi. o yüzden sadece gerekli kısmı düzenledim sizin için.

şimdiden teşekkür ederim.
 

Ekli dosyalar

@Perfect_BoY22

A sütunundaki ---- karakterlerini CTRL+H ile tek adımda silip, basit alfabetik sıralama yapmayı neden düşünmüyorsunuz?
CTRL+H, ARANAN: ---- , YENİ DEĞER boş bırak , TÜMÜNÜ DEĞİŞTİR
Sonra da alanı kolaylıkla alfabetik sıralayabilirsiniz.

İlle de işlem için makro kullanmak istiyorum derseniz bakmaya çalışayım.

.
 
Art arda ikinci cevabım oluyor Sayın @Perfect_BoY22 .

Kod cevabı da vereyim dedim (CTRL+H işlemi olmaksızın ve A sütununda ilk ---- karakterinin bulunduğu satıra göre).
Kod, ilk ---- değerinin üstünde kalan kısmı (kaç satır olursa olsun) C15'ten itibaren alfabetik sıralar.

VBA:
İçeriği görüntülemek için giriş yapmalısınız
(8 satır)
 
Valla helal olsun hocam, ellerine kollarına sağlık, 10 numara oldu.... Teşekkür ederim hocam, Allah razı olsun.
tamda istediğim gibi oldu. çok güzel oldu. teşekkür ederim. Bu yazdığın kod var ya, internette hiç bir yerde yok...


ama aklıma takılan bir soru var hocam, verdiğin kod kısmında Find("----" bu kısma bir hücrenin içinde ne yazıyorsa ona eşit ise diye yazmak istesem nasıl yaparım.

mesela A1 de XXXX yazıyor, o arama kısmı da A1 de ne yazıyorsa ona göre silsin demek istiyorum, Find("[A1]" bu şekilde yaptım ama yemedi :)
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Soru 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
5
Üst