Excel'de Benzerlik kontrolü için, tırnak içinde ve amaca göre yeri değiştirilerek '*' işareti kullanılır. Bilinmeyen harflerin yerine '*' işareti yazılır. Örneğin, Başında 'H' harfini arıyorsak, "H*" , Ortasında 'e' harfi arıyorsak "*e*" , Sonunda 'z' harfini arıyorsak "*z" yazarız. Amaç Bileşik Fonksiyon İçinde e var mı? =EĞER(DEĞİL(EHATALIYSA(KAÇINCI("*e*";B1;0)));"Evet";"Hayır") H ile başlıyor mu? =EĞER(DEĞİL(EHATALIYSA(KAÇINCI("H*";B1;0)));"Evet";"Hayır") z ile bitiyor mu? =EĞER(DEĞİL(EHATALIYSA(KAÇINCI("*z";B1;0)));"Evet";"Hayır") Yukarıdaki bileşik fonksiyonlarda Kaçıncı fonksiyonunun birinci parametresinde kullanılan "*e", "H*", "*z" ölçütleri bizim benzeme kurallarımız oluyor. Kaçıncı fonksiyonu, B1 hücresinde ölçütün kaçıncı karakterde olduğunu bul...
Bir For-Next döngüsü içinde If kullanarak, bir kolonda koşula uyanlara karşılık gelen satırlardan diğer kolondaki değerleri bir değişken üzerine toplamak üzere bir istek olduğunu varsayalım. Bu amaçla hazırladığım programı, aşağıda gerekli açıklamalar ile birlikte bulabilirsiniz. ------------------------------------------------------------------------------------------------------------------------- Sub KosulluToplam() Olcut = Range("D13") 'Range("D13") hücresindeki bilgiyi Olcut değişkenine ata. Min = 2 Max = Cells(Rows.Count, "A").End(xlUp).Row 'A kolonunun son satırını ilgili fonksiyonu kullanarak buldur. Toplam = 0 'Toplam değişkeni, başlangıç değeri olarak sıfırlanıyor. For i = Min To Max 'i indis değerini minimum değerden maksimum değere kadar artırarak Next satırına kadarki işlemleri yap. If Range("A" & i) = Olcut Then 'Range("A" ...
İç içe eğer yazmanın matematik altyapısını aşağıdaki örnekte görebilirsiniz. İç İçe Eğer ile elde edilen sonucun aynısının elde edildiği Yaklaşık Eşleşmeli DüşeyAra hakkındaki yazımı okuyabilirsiniz. Konu ile ilgili Yada Fonksiyonu yazımı okumanızı tavsiye ederim.
Birden çok sayfadaki ve gruplandırılmış değerlerin her bir sayfadaki grupları bazında toplamını hesaplayan bileşik fonksiyonu aşağıda ve örneğini görüntüde bulabilirsiniz. =ÇOKETOPLA(DOLAYLI(A2&"!C:C");DOLAYLI(A2&"!B:B");B2) Açıklaması: Sayfa adını A2 hücresinden almakta, sayfa adını Dolaylı fonksiyonundaki “&” işaretinden sonraki kısım ile birleştirmektedir. Bu metin birleştirmesiyle elde edilen bilgiden dolaylı olarak ÇokETopla fonksiyonumuzun ilgili parametresini oluşturmaktadır. Örneğimizdeki Bölge Adı bilgisine eşit Bölgeler sayfası varsa ilgili sayfa bulunmuş ve bu sayfadaki ilgili kolondan bilgiler alınmış olmaktadır. Örneğimizdeki A2&"!C:C" metin birleştirmesiyle Bölge1 sayfasındaki C kolonunda bulunan sayılar toplanacağı bildirilmektedir. Örneğimizdeki A2&"!B:B" metin birleştirmesiyle Bölge1 sayfasındaki Ürün Grubu kolonunda, formülümüzün bulunduğu satırda B kolonundaki “Kalem” değeri aranacağı belirtilmekt...
Excel Macro kullanarak bir Borç Alacak Girişi ekranı oluşturacağız. Bu ekranı bir menüden çağıracağız. Bu menü, Excel sayfasındaki dikdörtgen şekle Makro Ata seçeneğiyle atanan prosedürle görüntüleyeceğiz. Borç Alacak Girişi ekranından Excel satırlarına yüklenen bilgilerden her bir Ad Soyad'a ilişkin borç ve alacaklar ayrı ayrı toplanacak. Bu borç alacak dengesinden bir Mizan oluşturacağız. Bu işlemler ile ilgili ekran görüntüleri ve ilgili Macro program kodları aşağıda verilmiştir. Bu kodları kopyalayıp değişiklik yaparak kullanabilirsiniz. Aşağıda önce Macro program kodlarını ve sonra ekran görüntülerini bulabilirsiniz. ------------------------------------------------------------------------------------------------------------------------- Excel'deki Dikdörtgen Şekle 'Makro Ata' Seçeneğiyle Atanan Public Prosedür Public Sub EkraniGoster() frmAnaMenu.Show End Sub ----------------------------------------------------------------------------...
Excel Macro'da temel Tutar hesaplamaları aşağıdaki örneklerde açıklamalarla verilmiştir. Aşağıdaki tabloda henüz bir hesaplama yapılmamıştır. Aşağıda görüntüde hesaplamalar ile ilgili program satırları verilmiştir. Bu Macro sayfasına Excel programında Alt-F11'a basılarak ulaşılır. Bu görüntüden sonraki satırlarda görüntüdeki program satırları açıklamalar ile birlikte ve sizlerin kopya alacağı şekilde verilmiştir. --------------------------------------------------------------------------------------------------------------------- Public Sub TutarHesaplamalari() 'Tutar Hesabı 'Her bir hücre Range("...") olarak kullanılmıştır. 'C2, D2 için açıklama: C2 ve D2 hücrelerindeki değerler çarpılmış ve E2 hücresine atanmıştır. Range("E2") = Range("C2") * Range("D2") Range("E3") = Range("C3") * Range("D3") Range("E4") = Range("C4") * Range("D4") Range("E5...
Excel'de bir sayfadaki örneğin satışların ayrı ayrı PDF çıktılarının topluca oluşturulması istendiğinde gerekli Macro programı aşağıdaki BolumBolumPDF prosedüründe verilmiştir. Bulunduğunuz sayfadaki tüm satışların çıktısı için SayfadanPDF, Tüm Excel dosyasındaki sayfaların çıktısı için DosyadanPDF prosedürünü kullanınız. Aşağıdaki prosedürlerin kullanımı için Excel sayfalarında özel bir menü veya düğmeler oluşturulmamıştır. Excel sayfasındayken Alt-F8 yaptığınızda gelen menüden seçim yapılmıştır. Amacım, Alt-F8 Makro seçim menüsünün kullanımını göstermektir. PDF dosyalar Belgelerim klasöründe oluşmaktadır. ' ---------------------------------------------------------------------------------------------------------------------- Option Explicit Dim MinRow(1 To 50), MaxRow(1 To 50) As Integer Dim SonSatir, SonKolon, i, r, b As Integer Dim SonKolonAdi, BolumBaslangici, BolumBitisi, CiktiKategoriAdi As String ' -----------------------------------------...
Aşağıda OKYS isimli bir veritabanı ve Kisiler isimli bir tablo oluşturuyoruz. Bu tabloya 4 kayıt ekliyoruz. Daha sonra da bu veritabanından Macro'yla bu tablodan kayıtları okuyup, Excel satırlarına kopyalıyoruz. Macro prosedürünü çalıştırmak için Alt+F8 tuş kombinasyonunu kullanıyoruz. ---------------------------------------------------------------------------------------------------------------------- create database OKYS -- Veritabanı oluşturulması go use OKYS -- Kullanılacak veritabanının seçilmesi create table Kisiler -- Kolonları ile beraber Kisiler tablosu oluşturulması (KisiID integer identity(1,1) primary key, -- Primary key olan tamsayı veri tipli otomatik artan KisiID KisiAdi varchar(15) not null, -- Boş bırakılamaz olan 15 karakterlik KisiAdi kolonu KisiSoyadi varchar(15) not null, -- Boş bırakılamaz...
Public Sub CarpimTablosu() For r = 1 To 9 For c = 1 To 9 Cells(r, c) = r * c Next c Next r End Sub Bir döngü örneği olarak, çarpım tablosu hazırlayan bir prosedür yazacağız. Çarpım tablosunda satır numarası ile sütun numarasını çarptıracağız. Yukarıda bu amaçla yazdığımız prosedür bloğunu görmekteyiz. En temel döngü For-Next döngüsüdür. For-Next döngüsü, For başlangıç satırı ile Next bitiş satırı arasına yazılan işlem satırlarından oluşmaktadır. For-Next döngüsü For satırında belirtilen değişkeni, belirtilen başlangıç değerinden itibaren belirtilen bitiş değerine kadar otomatik olarak artırır. Bu artırma, bir artım değeri belirtilmemişse birer birer olur. Artırmadaki başlangıç değeri eşit işareti ile ' to ' terimi arasındaki sayıdır. Bitiş değeri ise ' to ' teriminden sonraki sayı olmaktadır. Örneğimizdeki r değişkeni, satır numarasına ve c değişkeni ise sütun numarasına karşılık gelmektedir. Bu değişkenlerin değerleri iç içe For-N...
Excel'de ardışık sayfalarda bulunan her bir Şirketin Hesap No bazındaki Tutarlarını, bir sayfada konsolide eden Macro programını aşağıda bulabilirsiniz. Her bir sayfada Şirket dışında başka bir birim de olabilir. Hesap No dışında başka kod da kullanılabilir. Tutar yerine Miktar gibi toplama işlemi yapılabilen başka bir değişken de olabilir. Bu amaçla Konsolidasyon sayfasında örnekteki gibi bir şekil ekleyin, şeklin içine bir etiket yazın. Bu şekle aşağıdaki Konsolidasyon makrosunu atayın. Aşağıdaki görüntü, bir örnek Şirket sayfası görüntüsüdür. Bir parametreler sayfası oluşturun. Bu parametreler sayfasının A kolonunda satırlara aşağıdaki Parametreler sayfasındaki isimleri yazın. Bu isimlere karşılık resimdeki gibi kendi veri sayfanıza uygun değerler verin. Ölçüt Kolonu, konsolidasyon sayfasındaki Hesap No kolonudur. Kontrol Kolonu, şirket sayfalarındaki Hesap No kolonudur. Değer Kolonu, şirket sayfalarındaki Tutar kolonudur. Sonuç Kolonu,...