İçindekiler
MS Excel'de sık sık veri kümesindeki değerleri aramamız veya bulmamız gerekir. Bu, satırlardaki veya sütundaki verileri bulmak olabilir. Neyse ki, Excel bu tür görevleri yapmak için farklı işlevler ve formüller sağlar. Excel VBA kodu yardımıyla, bu arama veya değer bulma görevini otomatikleştirebiliriz. Bu makalede, aşağıdakileri yapmanın farklı yollarını göreceğiz bir sütunda değer bulma Excel VBA'da.
Alıştırma Çalışma Kitabını İndirin
Sütun.xlsm'de Değer BulExcel'de Sütunda Değer Bulmak için 6 VBA Örneği
Ürün bilgilerini içeren bir veri kümesine sahip olalım Ürün Kimliği , Marka , Model , Birim Fiyat ve Sipariş Kimliği . Bizim görevimiz, eşleşen Sipariş Kimliği Şimdi bizim görevimiz Sipariş Kimliği ile ilişkili Ürün Kimliği .
1. VBA Bul İşlevini Kullanarak Sütundaki Değeri Bulma
İlk örnekte, aşağıdakileri kullanacağız VBA'da Bul işlevi bir sütunda bir değer bulmak için.
📌 Adımlar:
- Sayfanın altındaki sayfa adına gidin.
- Farenin sağ düğmesine basın.
- Seçin Kodu Görüntüle seçeneğini listeden seçin.
- VBA penceresi açılır. Ardından Modül bir şey yok. Ekleme seçenek
- Şimdi VBA konsoluna aşağıdaki kodu yazın
Sub Find_Value() Dim ProductID As Range Range("D4").ClearContents Set ProductID = Range("B8:B19").Find(What:=Range("C4").Value, _ LookIn:=xlValues, LookAt:=xlWhole) If Not ProductID Is Nothing Then Range("E5").Value = ProductID.Offset(, 4).Value Else MsgBox "No Matched Data Found !!" End If End Sub
- Şimdi veri kümesine bir düğme ekleyin.
- Şuraya git Geliştirici sekmesi.
- Seçin Düğme ( Form Kontrolü )'den Ekleme Bölüm.
- Düğmeye herhangi bir isim verin. Benim verdiğim gibi Arama .
- Kodu bu düğmeye atayın.
- Düğmeyi seçin ve farenin sağ düğmesine basın.
- Seçin Makro Atama listeden.
- İstediğiniz makroyu şuradan seçin Makro Atama Pencere.
- Ardından, tuşuna basın TAMAM. .
- Şimdi herhangi bir Ürün Kimliği üzerine tıklayın ve Arama Düğme.
Bu ürün numarası listede olmadığı için eşleşme olmadığını görebiliriz.
- Başka bir deyişle Ürün Kimliği ve tekrar Arama Düğme.
Verilen sipariş için sipariş numarasını alıyoruz Ürün Kimliği .
Daha fazlasını okuyun: Excel VBA'da Satır ve Sütuna Göre Hücre Değeri Nasıl Alınır
2. Farklı Çalışma Sayfalarından Değer Bulmak için VBA
Şimdi bu bölümde, yukarıdaki işlemin aynısını farklı çalışma sayfaları için yapacağız. Ürün bilgilerimizin şu sayfada olduğunu varsayalım Levha 2 ve arama kutusu Sayfa 3 Şimdi VBA kodunu yazacağız, böylece Ürün Kimliğini kullanarak Sipariş Kimliğini arayabileceğiz Sayfa 3 .
Sayfa 2:
Sayfa3:
📌 Adımlar:
- Aynı adımları takip edin Adım 1 için Adım 2 VBA konsolunu açmak için önceki yöntemden
- Şimdi VBA konsoluna aşağıdaki kodu yazın
Sub Find_Value_from_worksheets() Dim rng As Range Dim ProductID As String Dim rownumber As Long ProductID = Sheet3.Cells(4, 3) Set rng = Sheet2.Columns("B:B").Find(What:=ProductID, _ LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) rownumber = rng.Row Sheet3.Cells(5, 5).Value = Sheet2.Cells(rownumber, 6).Value End Sub
- Şimdi yine bir öncekine benzer bir düğme ekleyin.
- Ardından makro kodunu düğmeye atayın.
- Herhangi birini girin Ürün Kimliği üzerine tıklayın ve Yürütmek düğme
Daha fazlasını okuyun: Excel'de Sütunda Değer Arama ve Başka Bir Sütunun Değerini Döndürme
3. Sütundaki Değeri Bul ve İşaretle
Şimdi bir sütundaki değerleri işaretleyerek nasıl bulabileceğimizi görelim. Bunun için yukarıdaki veri kümesinin aynısını ek bir sütunla birlikte varsayalım Teslimat Durumu . Şimdi görevimiz, aşağıdaki değerleri işaretlemektir Teslimat Durumu olan sütun Beklemede .
📌 Adımlar:
- Aynı adımı Adım 1 için Adım 2 VBA konsolunu açmak için önceki yöntemde olduğu gibi
- Şimdi VBA konsoluna aşağıdaki kodu yazın
Sub Find_and_Mark() Dim strAddress_First As String Dim rngFind_Value As Range Dim rngSrch As Range Dim rng_Find As Range Set rng_Find = ActiveSheet.Range("G1:G16") Set rngSrch = rng_Find.Cells(rng_Find.Cells.Count) Set rngFind_Value = rng_Find.Find("Pending", rngSrch, xlValues) If Not rngFind_Value Is Nothing Then strAddress_First = rngFind_Value.Address rngFind_Value.Font.Color = vbRed Do SetrngFind_Value = rng_Find.FindNext(rngFind_Value) rngFind_Value.Font.Color = vbRed rngFind_Value.Address = strAddress_First End If End Sub
- Şimdi çalışma sayfasına gidin ve kodu çalıştırın.
- Tablodaki çıktıya bakın.
Daha fazlasını okuyun: Excel Sütununda En Yüksek Değer Nasıl Bulunur (4 Yöntem)
4. Joker Karakterler Kullanarak Sütundaki Değerleri Bulmak için VBA
Son olarak, Excel VBA'da joker karakterleri kullanarak sütunlardaki değerleri nasıl arayabileceğimizi veya bulabileceğimizi göreceğiz. Yine, bu yöntem için yukarıdaki aynı veri kümesini kullanacağız. Görevimiz, Modellerini kullanarak ürün fiyatlarını bulmaktır. Ürünün tam adını veya son/ilk karakterlerini yazabiliriz. Ürün Kimliği .
📌 Adımlar:
- Aynı adımı Adım 1 için Adım 2 VBA konsolunu açmak için önceki yöntemde olduğu gibi
- Şimdi VBA konsoluna aşağıdaki kodu yazın
Sub Find_Using_Wildcards() Set myerange = Range("B5:G16") Set ID = Range("D19") Set Price = Range("F20") Price.Value = Application.WorksheetFunction.VLookup _ ("*" & Range("D19") & "*", myerange, 4, False) End Sub
- Yine bir önceki gibi bir düğme ekleyin.
- Şimdi makro kodunu düğmeye atayın.
- Şimdi herhangi bir kısmi Ürün Kimliği ve tuşuna basın Yürütmek Düğme.
Daha fazlasını okuyun: Bir Excel Sütunundaki En Düşük Değer Nasıl Bulunur (6 Yol)
5. Sütundaki Maksimum Değeri Bulmak için Excel VBA
Burada, VBA kodunu kullanarak bir sütunun maksimum değerini bulmak istiyoruz.
📌 Adımlar:
- Maksimum fiyatı öğrenmek istiyoruz.
- Şimdi, aşağıdaki VBA kodunu yeni bir modüle yerleştirin.
Sub Column_Max() Dim range_1 As Range Set range_1 = Application.InputBox(prompt:="Select Range", Type:=8) Max_Column = WorksheetFunction.Max(range_1) MsgBox Max_Column End Sub
- Ardından, tuşuna basın. F5 düğmesine basarak VBA kodunu çalıştırın.
- Bu Giriş iletişim kutusu görünür.
- Veri kümesinden aralığı seçin.
- Son olarak, tuşuna basın. TAMAM. Düğme.
Maksimum değerin iletişim kutusunda gösterildiğini görebiliriz.
6. Sütundaki Son Değeri Bulmak için Excel VBA
Burada, belirli bir sütunun son satırının veya hücresinin değerini bilmek istiyoruz. Örneğin, Product sütunundan son ürünü bilmek istiyoruz
📌 Adımlar:
- Giriş VBA modül üzerinde aşağıdaki kodu kullanın.
Sub last_value() Dim L_Row As Long L_Row = Cells(Rows.Count, "B").End(xlUp).Row MsgBox Cells(L_Row, 2).Value End Sub
- Ardından, kodu şu tuşa basarak çalıştırın F5 Düğme.
Son değer iletişim kutusunda gösterilir.
Daha fazlasını okuyun: Excel'de Bir Sütunda Bir Değerin Son Oluşumu Nasıl Bulunur (5 Yöntem)
Hatırlanması Gerekenler
Bazı Yaygın Hatalar:
- Hata: Her Seferinde Bir Değer. Çünkü BUL yöntemi bir seferde yalnızca bir değer bulabilir.
- Hata: #NA içinde VLOOKUP Eğer aranan değer verilen veri kümesinde mevcut değilse, bu fonksiyon şunu döndürecektir #NA Hata.
- Range("Cell_Number").ClearContents kısmı, önceki değeri hücreden temizlemek için kullanılır. Aksi takdirde, önceki değerin manuel olarak kaldırılması gerekir.
Sonuç
Bunlar, Excel'de VBA kodu kullanarak sütunlardaki değerleri bulmanın bazı yollarıdır. Tüm yöntemleri ilgili örnekleriyle gösterdim, ancak başka birçok yineleme olabilir. Ayrıca kullanılan işlevlerin temellerini de tartıştım. Bunu başarmak için başka bir yönteminiz varsa, lütfen bizimle paylaşmaktan çekinmeyin. Web sitemizi ziyaret edin ExcelWIKI Excel hakkında daha fazla ilginç makale için.