Makro Veya Kod Nasıl Oluştururum - Baskı Önizleme +- AccessTr.neT (https://accesstr.net) +-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html) +--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html) +--- Konu Başlığı: Makro Veya Kod Nasıl Oluştururum (/konu-makro-veya-kod-nasil-olustururum.html) |
RE: Makro Veya Kod Nasıl Oluştururum - feraz - 16/10/2020 Yada alttaki kod.
RE: Makro Veya Kod Nasıl Oluştururum - HORZUM - 18/10/2020 (16/10/2020, 16:49)berduş yazdı: kusura bakmayın formül eksik olmuş FARKINDAYIM. DÜZELTİM (18/10/2020, 10:22)HORZUM yazdı:(16/10/2020, 16:49)berduş yazdı: kusura bakmayın formül eksik olmuş İLGİN ALAKANDAN DOLAYI TEŞEKKÜR EDERİM.... RE: Makro Veya Kod Nasıl Oluştururum - feraz - 18/10/2020 Formül olayı iş değil bence yinede siz bilirsiniz. Verdiğim kod hem exceli yormaz hemde hızlı çalışır hemde dinamik idi. RE: Makro Veya Kod Nasıl Oluştururum - HORZUM - 19/10/2020 (18/10/2020, 11:36)feraz yazdı: Formül olayı iş değil bence yinede siz bilirsiniz.Private Sub Worksheet_Change(ByVal Target As Range) Dim bul As Range With ThisWorkbook.Sheets("Sayfa2") If Target.Column = 1 Then If Target.Cells.Count = 1 Then Set bul = .Range("A:A").Find(Target.Value, , , 1) Target.Offset(, 1).Value = Empty If Not bul Is Nothing Then Target.Offset(, 1).Value = bul.Offset(, 1).Value End If End If End With Set bul = Nothing End Sub Bu kodda sadece A hücresine girilen bilgiyi B hücresine aktarıyor E hücresinden F hücresine nasıl olacak. Birkaç deneme yaptım olmadı RE: Makro Veya Kod Nasıl Oluştururum - feraz - 19/10/2020 (19/10/2020, 09:12)HORZUM yazdı:Koddaki sayfa2 A:A aralığındaki verileri arar.(18/10/2020, 11:36)feraz yazdı: Formül olayı iş değil bence yinede siz bilirsiniz.Private Sub Worksheet_Change(ByVal Target As Range) E sütununda aranacaksa E:E ile değişecek. If Target.Column = 1 Then burdaki 1 demek ilk sütunda değişiklik olunca demek E sütunu için 4 yazılmalı. Gerisi aynı kalabilir sanıyorum. Eğer Sayfa2 A sütununda aranacaksa yukarda yazdığım 1 yerine 4 yazılmalı. (19/10/2020, 09:12)HORZUM yazdı: Bu kodda sadece A hücresine girilen bilgiyi B hücresine aktarıyorDoğrusu heralde A sütununa girilen veri sayfa2 A sütunda varsa B sütununa sayfa2 nin B sütunundaki veri gelir olmalı _) RE: Makro Veya Kod Nasıl Oluştururum - feraz - 19/10/2020 (19/10/2020, 09:12)HORZUM yazdı:Kodu açıklayayım tam anlarsınız.(18/10/2020, 11:36)feraz yazdı: Formül olayı iş değil bence yinede siz bilirsiniz.Private Sub Worksheet_Change(ByVal Target As Range) ------------------------------------------------------------ If Target.Column = 1 Then eğer 1.ci sütunda işlem olursa ------------------------------------------------------------- If Target.Cells.Count = 1 Then burası önemli değil ------------------------------------------------------------- Set bul = .Range("A:A").Find(Target.Value, , , 1) burası Sayfa2 nin A sütununda arama yapar.Aranan ise A sütununa girilen değerdir. If Target.Column = 1 Then burdaki 1 yerine 4 olsaydı E sütununa girilen değer aranacaktı. ---------------------------------------------------------------------------------------------- Target.Offset(, 1).Value = Empty Burdaki 1 demek 1.ci sütunun 1 sağı demek.3 yazılsaydı 3 sütun sağı demekti. Kısaca temizler o hücreyi. ------------------------------------------------------------------------------------------------- If Not bul Is Nothing Then Target.Offset(, 1).Value = bul.Offset(, 1).Value bul.Offset(, 1).Value burası ise aranan(bul) sayfa2 nin A sütunu olduğu için ve getirilecek veri sayfa2 B sütunu olduğu için 1 yazıldı.F sütunundan veri istenseydi5 yazılmalıydı. ---------------------------------------------------------------------------------------------------------------------------------- Kısaca Target demek hangi sayfanın hangi sütununa veri girilecekse o hücre (Hedef) demek.Burda Target ise unuttum lakin heralde sayfa1 deki A sütunu olacaktı. Bul ise Sayfa2 nin A sütunu için. Offset ise kaydır demek. Aslında dictionary ile yazılan kod uzun olmasına rağmen daha hızlı çalışır. |