H

Çözüldü İşaretlenmiş sonuçların listelenmesi

  • Konuyu başlatan Konuyu başlatan hakki83
  • Başlangıç tarihi Başlangıç tarihi

hakki83

Site Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar


Örnek dosyada görüldüğü üzere A sütununda araç isimleri;
1. satırda, yani başlıklarda sorun isimleri vardır.
Her aracın yaşadığı sorunlar 1 rakamıyla işaretlenmektedir.
En sonda görülen SONUÇ sütununa sonuçlar dökülmektedir.
Örnek dosyadaki O1 hücresindeki SONUÇ başlığını ve
altındaki sonuçları, elle yazdım.


İstenen şudur:
Araçların sorunları 1 rakamıyla işaretleniyor demiştim.

Bir aracın bir tane de sorunu olsa, birden fazla sorunu da olsa,
ya da tüm satır 1 rakamıyla işaretli de olsa; makro düğmesine basıldığında sonuç satırına "SORUN VAR" olarak çıkmalıdır. Eğer bir aracın karşısında
1 rakamı hiç işaretli değilse, yani tüm satır bomboşsa, o zaman "YOK" yazısının çıkması yeterlidir.





Fakat çok önemli birkaç husus vardır. Bunlardan bahsedeyim.


Örnek dosyada tablodaki sorunların bulunduğu sütunlar kesinlikle sabit değildir. Değişkendir. Yani sorunlar B sütununa kadar da olabilir, K sütununa kadar da olabilir, Z sütununa kadar da olabilir. Değişkendir. Artabilir, azalabilir.
Bu yüzden sonuçların dökülecek sütununu, makro kodlarının otomatik olarak bulup dökmesi gerekmektedir.


Sonuç sütunu her zaman son sorun sütunundan bir sonraki sütun olmalıdır.
Diyelim ki
Sorunların bulunduğu son sütun C sütunuysa, sonuç sütunu D sütunu olarak dökülmelidir.Sorunların bulunduğu son sütun T sütunuysa, sonuç sütunu U sütunu olacaktır. Zaten istenen budur.
Bunun gibi.


Bir de bahsi geçen sonuç sütununun başlığı olan "SONUÇ" yazısı, otomatik olarak başlık hücresine gelmelidir.

Kodlarda hiçbir biçimlendirmeye ihtiyaç yoktur.

Konu çözüldükten sonra sayın hocalarımdan bu dosyayla ilgili bir de sıralama talep edeceğim, fakat karışıklık oluşturmaması için daha sonraya bıraktım.


Teşekkür ederim saygılar

(Satır sayısı yani araç sayısı da değişkendir, 10 da olabilir, 500 de olabilir)
(Dosyada görülen kelimelerin hepsi örnektir, yani tamamı değişecektir)
 

Ekli dosyalar

Moderatörün son düzenlenenleri:
Ömer Baran hocam emeğinize bilginize sağlık. Az önce bakabildim ve hiç sorun göremedim. Denemeler yapıyorum. Teşekkürler saygılar.

(Sayfa adını yazmayı (belirtmeyi) unutmuşum, bu da önemliydi. Kodlarda görünce ayrıca hoşuma gitti)
 
Ömer Baran hocam denemeler yapıyorum gayet güzel. Bilginize sağlık.
İki adet küçük sorum var.

Komut butonu ya da makro düğmesi, tablonun sağında durduğu zaman, düğmeye her basışta sola doğru kayıyor ve yok oluyor.
Denetim Biçimlendir/ Hücrelerle Taşıma Boyutlandırma özelliğini işaretleyerek bu sorunu kolayca gideriyorum. Benim için mühim değil; Fakat yine de bunun için kodlara ilave yapmak gerekir mi?

İkinci sorum da; bu konunun devamı olan sıralama sorum için yeni konu açayım mı yoksa buradan sorayım mı sayın hocam?
 
Nesne kayma sorunu için;
koddaki Columns(XDu).Delete kısmını Columns(XDu).ClearContents olarak değiştirin.
Böylece sütun silme yerine içerik temizleme işlemi yapılır ve sağdaki nesneler de kaymaz.

Sıralama için aşağıdaki kod satırı satır yeterlidir ve bu satırı MsgBox satırının üstüne ekleyin.

Sıralama kriteri olarak A sütununu kulandım ve sıralamayı ARTAN olarak düşündüm.
SONUÇ sütununa göre sıralama için .. Sort kelimesinden sonraki kısımdaki "A" ibaresini XDu olarak,
AZALAN sıralama için ise en sondaki 1 sayısını 2 olarak değiştirirsiniz.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

.
 
Nesne kayma sorunu için;
koddaki Columns(XDu).Delete kısmını Columns(XDu).ClearContents olarak değiştirin.
Böylece sütun silme yerine içerik temizleme işlemi yapılır ve sağdaki nesneler de kaymaz.

Sıralama için aşağıdaki kod satırı satır yeterlidir ve bu satırı MsgBox satırının üstüne ekleyin.

Sıralama kriteri olarak A sütununu kulandım ve sıralamayı ARTAN olarak düşündüm.
SONUÇ sütununa göre sıralama için .. Sort kelimesinden sonraki kısımdaki "A" ibaresini XDu olarak,
AZALAN sıralama için ise en sondaki 1 sayısını 2 olarak değiştirirsiniz.

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)

.
Hocam hemen deniyorum.
Sorum
Son sütunu otomatik bulan ve bulup sıralayan kodlar olacaktı.
Soruyu bile sormadan cevabı yazdınız
:)
Hemen deniyorum.
 
Hocam sıralama satırı hata verdi maalesef.
Hocam düzeltme yapıyorum. Hata veren, daha doğrusu hataya sebep olan Clear contents satırıymış.

Sıralama konusu ile ilgili birkaç sorum daha olacak hocam.
 
Moderatörün son düzenlenenleri:
1'inci satırdaki başlıklara ÇİFT TIKLAma ile ve çift tıklanan sütun kriter olarak kullanılarak
1'inci çift tıkta ARTAN, 2'nci çift tıkta AZALAN sıralama yapar.
Kodu ilgili sayfanın kod bölümüne yapıştırın (Dikkat: Dim krt satırı sayfanın kod bölümünün en üstünde olmalıdır.)

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(17 satır)
 
Ömer Baran hocam,

Önce çok beğendiğimi belirtmek isterim. Çift tıklama ile sıralama hiç aklımda yoktu, dosyayı farklı bir kod kullanımı ile kullanma fikri ve olanağı sağladınız. Ve dosyamdaki diğer kodlarla da çakışma sorunu da olmadı. Bazen olabiliyor çakışma sorunları.

Dediğim gibi 8 nolu kodlarla ilgili hiç sorun yok, çok güzel; fakat aslında kodların kullanımı ile ilgili, farklı bir şey için sizin bir fikrinizi soracaktım; mesaj karışıklığı oluşturmaması için daha sonra soracağım; aklımda.

Daha önemli bir sorunla karşılaştım.
Anlatıyorum hocam.
Hani buton kaymasın diye 5 nolu masajınızda Delete satırını, ClearContents satırı ile değiştirmemi söylemiştiniz, fakat ben de 7 nolu mesajda hata verdiğini söylemiştim ya hocam;

İşte ben dosyada (derli toplu görünmesi adına) en sondakinden itibaren (sonucun döküleceği sütun hariç kuşkusız) sonuna kadar kullanılmayan diğer bütün sütunları gizlediğim için; ve ClearContentis'in çalışmaması (Deleteden dolayı) yüzünden, butona her basışta sadece butonu değil, teker teker sütunları da siliyor. Ve sayfa sütun sütun siliniyor. Ve sonuçta hata veriyor. Bu sorunu çözebilir miyiz hocam?

Yani ClearContents'in çalışmasını sağlayabilir miyiz?
 
Cep telefonundan yazıyorum.
Eklediğiniz örnek belgeye uyguladığımda bir sorun hatırlamıyorum.

Şunu önemle hatırlatmalıyım:
Örnek belgeler, gerçek belgenin özel bilgi içermeyen kopyası olmalıdır.
İşlemler için, bu özel bilgi alanları gerekliyse; bunların yerine, gerçek verileri temsil edebilecek, farklı ancak anlamlı/tutarlı başka veriler yazılmalıdır.
Bu konuyla ilgili olarak, cevaplarımın altındaki İMZA bölümünü (mobilden görünmez) tekrar okuyunuz.
Açıklamalarım doğrultusunda hazırlayacağınız ve sorunlu haliyle yeni bir örnek belge yükleyin.

.
 
Hocam 10 nolu mesajımda bahsetmiş olduğum sorunlarla ilgili olan dosya ektedir.

Delete satırından dolayı sütunlar, butona bastıkça yutuluyor.

ClearContents satırı da maalesef çalışmıyor.
 

Ekli dosyalar

2 numaralı cevapta verdiğim kodda, 5 numaralı cevapta belirttiğim değişikliği (.Clear yerine .ClearContents)
yapınca bir sorun görmüyorum.
2 numaralı cevapta verdiğim kodda, 5 numaralı cevapta belirttiğim değişikliği (.Clear yerine .ClearContents)
yapınca bir sorun görmüyorum.
Hocam siz Clear değil Delete yerine ClearContents demştiniiz.

12 nolu mesajımdaki örnek dosyada .ClearContents satırını aktif edince hata veriyor hocam.
(Bilerek pasif yaptım, siz Delete’yi pasif yapıp, ClearContents’i aktif hale getirip denersiniz diye)

Tekrar dosya ekliyorum
 

Ekli dosyalar

Bir önceki cevabımda hataen Clear yazmışım,
2 nolu mesajdaki kodda .Delete kısmı .ClearContents olarak değiştirmeyi kast etmiştim.

Ayrıca; satır aktif/pasif etme konusunda da hata alabilirsiniz.

If ... ENd If kodlamasında birkaç türlü yazım var (Elseif ve Else olayını yok sayıyorum).

- Birincisi:
If a=1 Then
MsgBox a
End IF

-- İkincisi:
If a=1 Then:MsgBox a

-- Üçüncüsü:
IF a=1 Then _
MsgBox a

Dikkat; İkinci ve üçüncüde End If satırı yok ve aslında bunlar birbirinin aynısı.
Üçüncüde ki ALT TİRE, aslında alt satıra geçilmediğini, devamında yazılan kod satırı uzun olduğunda kullanılır ve
If ile başlayan kod satırının devam ettiği anlamındadır.

.
 
ÖNce IF...End IF olayıyla ilgili açıklama yazmıştım, hataen mesajı GÖNDER düğmesine tıkladım, sonra mesaj içeriğini değiştirdim.
Sayfayı yenileyerek bir öncei cevabımdaki açıklamayı tekrar okuyun.
 
Ömer Baran hocam deneme yanılmayla, bahsetmiş olduğınuz _ alt tire ile yarım olarak gördüğüm satırı birleştirdim düzeldi. Bir de pasif hale gelmiş bir satırın hataya yol açabileceği de ilk defa başıma gelmiş oldu. Daha önce hiç karşılaşmamıştım.
Ayrıca verdiğiniz bilgiler için teşekkür ederim.

Şimdi 8 nolu mesajınızdaki sıralama kodlarıyla ilgili diğer soruma geçeyim.

Sıralama konusunda başkalarını bilmiyorum ama benim genelde kullandığım küçükten büyüğe ARTAN sıralamadır.

Hocam şu dikkatimi çekti. 8 nolu kodlarda sütunlardan birini çift tıklayarak sıraladığımızda, artan sıralamayı normal yapıyor. Fakat ikinci çitf tıkta, azalan sıralanmış veriler, sütunun en altında sıralanıyor. Oysa en altta değil, normal olarak sütunun en üstünde sıralanması gerekir.

Bunu düzeltebilir miyiz?
Yani sütunların bildiğimiz şekilde sıralanmasını sağlayabilir miyiz?

(Not: çift tıklamayla sıralama yapması kullanışlı, çift tıklamada sorun yok hocam)
 

Ekli dosyalar

Moderatörün son düzenlenenleri:
Üst