Soru Adres tanımlama

ceterisdenge

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Sevgili forum uzmanı arkadaşlar hepinize iyi günler dilerim. Bir konuda yardımınıza ihtiyacım var şimdiden hepinize tşk ederim. Çok sıklıkla kullandığım bir kodlama var. Aşağıda bir örneğini paylaştım. Burada ihtiyacım olan ise a1 =..... a2 =..... vb tanımlamalarda adres olarak A sütunu veya AG sütunu gibi bütün sütunları seçiyoruz. Şu imkan varmıdır varsa nasıl yapılır. Mesela benim a1 adresinde 1 den başlayıp 3000' e kadar kodlarım mevcut ve adres olarak bütün A sütunu değil de kod numarası 300 ile başlayıp 500 kadar gidenler a2 de kod aralığı 2000 ile 3000 arası olanları al gibi bir imkanım varmıdır.

Kod:
You must log in to view
(51 satır)
 
Merhaba.

Listeniz örneğin artan sıralı ise;
-- WorksheetFunction.Match(başlangıç değeri,[A:A],0) gibi bir kod satırıyla başlangıç satırı,
-- WorsheetFunction.Match(bitiş değeri+1,[A:A],0) gibi bir kod satırıyla bitiş satırı,
bulunabilir. Tanımlamada ise bu satır numaraları kullanılabilir.
Kodda Address filan kullanmaya gerek olduğunu düşünmüyorum doğrusu.

Bir örnek belgede, yapılmak istenileni örneklendirirseniz, sorunsuz çözüm önerisi oluşturulabilir.

.
 
Ömer hocam dosyanın küçük bir parçasını gönderdim. Burada VERİKAYNAĞI sayfamda veriler var. ANALİZ sayfasında ise 50 kadar satır var hepside kodların belirli bir mantıkla çarpımı toplamı bölümü gibi şeylerle dolu. hepsi için eğer şu şöyleyse böyle yap demek yerine adres yazabilirsem belki daha sağlıklı olur diye düşündüm
 

Ekli dosyalar

Bence adres tanımamasına lüzum yok.
Aşağıdaki koddan hareketle halledebilirsiniz gibi düşünüyorum.

Kodda veri kaynağındaki tüm bilgiler, veri=v.Range(..... satırıyla veri dizisine alınıyor ve
belirttiğiniz dokuz satırlık koşullar için If...Elseif...End If yapısıyla snc adını verdiğim sonuç dizisine alınıyor.
Diğer satırlar için aşağıdaki kod yapısına göre, kendiniz yeni koşullar oluşturup, 9'uncu satırdan sonraki kısım için koda eklemeler yapabilirsiniz.

Kodda;
-- snc(A, B) kısımlarındaki A ANALİZ sayfasındaki veri yazılacak satır no-1, B ise ikinci sütun (yani C sütunu oluyor)
-- veri(A, B) kısımlarındaki A veri kaynağındaki verinin satır no-1, B ise sütun numarası)
Dikkat ederseniz kodda snc(5, 1) ve snc(5, 2) ile snc(6, 1) ve snc(6, 2) diye bir şey yok. Çünkü o satırlar için MANUEL yazmışsınız.

CSS:
You must log in to view
(57 satır)

.
 
Ömer hocam tşk ederim. Kodun yapısını anladım. Aşağı yukarı aşağıya doğru 50 satır boyunca bütün parametreleri tanımlayarak gideceğim. Benim aklıma bir an şöyle bir şey geldi acaba bu imkan mevcutsa önce 1 ne anlama gelir 2 nedir 60 yada 70 nedir diye sanki bir şeyi set eder gibi gidersem acaba dahamı pratik olur diye düşündüm. Ama sonuçta bunu da aşağıya doğru yazabilirim.
 
Gerek veri ve gerekse de snc dizilerindeki satır numarası snc(1, 2) deki 1 sayısı oluyor.
Veriler 5 sütunda ve sayısal veriler 4 ve 5 inci sütunda.

Snc dizisi 9 a kadar kodlandı, sükun sayısı ise 2.
Veri dizisi ise kaynak sayfadaki satır kaçsa o kadar.

Bence halledersiniz.

Kontrol için diğer sayfada kriterlere göre filtre uygulayıp sütun toplamına bakacaksınız.
 
Tekrar merhaba.

Sonuç dizisi, verdiğim örnek kodda 9 satır idi. Gerçek belgenizde ise sonuç alanı satır sayısı farklı tabi.

Şayet doğrudan kaynağı VERİ KAYNAĞI sayfası olmayan,
makro tarafından hesaplanarak sonuç dizisine alınan değerler arasında işlem yapmak icap ederse (örneğin oran hesaplamaları için bölme işlemi)
( alttaki örnekte, sonuç dizisinin 9'uncu satırındaki değer / 10'uncu satırındaki değer, dizinin 11'inci satır değeri olacak şekilde hesaplanıp diziye alınır )
Next satırının hemen üstüne aşağıdaki gibi eklenecek satırla bu tür harici hesaplamalar da eklenebilir.

Tekrar hatırlatacağım şey; sonuç dizisindeki satır numarası, ANALİZ sayfasında verinin yazılacağı satırın numarası -1 oluyor.
Kodun en başındaki Redim satırındaki 9 sayısının ve kodun sonundaki Resize kısmındaki 9 sayısının buna göre 11 olarak değiştirilmesi gerekecektir.

İlave not: Belgedeki kodlamanın tamamlanmış halini görmek isterim.
Tamamlandığında foruma eklerseniz sevinirim.


CPP:
You must log in to view
(2 satır)
 
Sevgili Ömer hocam;
Size sordum ama tamamlayamadım kodu.. Sebebine gelince denetim dönemi ve nerdeyse uyumak için bile çok az süre kalıyor. Bir arkadaşa havale etmiştim o da bir arkadaşına rica etmiş yazdırmış artık onun için dönüş yapamadım. Sizi de hem yorduk hem beklettik kusura bakmayın lütfen. :(
 
Estağfurullah, "kusur"luk bir mevzu yok.

Oluşturduğunuz veya başkasının oluşturduğu haliyle çözüm foruma eklenmiş değil.
Ben zaten çözüme nasıl ulaşıldığının forumda görülebilmesi için bitmiş halini eklemenizi rica etmiştim.
RASYOların nasıl hesaplanacağı elbette belli yoksa.

Amaç; benzer ihtiyacı olacak üyelerimizin,
çözümü görmesi ve gerekli uyarlamaları yaparak kendi belgelerinde uygulama imkanı bulmaları.

Neticede AMAÇ hasıl olmamış durumda.
.
 
Ömer hocam sayfa sütunlarında kaydırmalar yaptık genel tablo yapısı aynı. Ama arkadaşlar farklı bir şey yapmışlar. O da şöyle ben asıl tabloların sol yanına ne kadar lazımsa mesela 25-30 kadar boş sütun bırakıp orada ki hücrelere kod yazıyordum. Bunda tek bir sütun oluyor o sütunun içine (100+101+102)/30 vb şekilde yapılmış

CSS:
You must log in to view
(90 satır)
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Soru 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
12
Üst