Excel için en iyi makrolar. Mironov. VBA Excel'de hazır makrolar. Excel'den e-posta gönderme

  • 08.08.2019

Kılavuz, aşağıdaki konularda makrolar içerir:
Hücre arama ile makroyu çalıştırın.
Bir çalışma kitabı açıldığında bir makro çalıştırın.
"2" hücresine yazarken bir makro çalıştırın.
"Enter" tuşuna basarken bir makro çalıştırın.
Eklentiler sekmenizi (Hücre Biçimi) panele ekleyin.
Dosyalarla çalışma (yani TXT, RTF, XLS vb. ile veri alışverişi).
Belirtilen yolda bir dosyanın varlığının kontrol edilmesi.
İstediğiniz dosyayı arayın.
Dosya silme otomasyonu.
Durum çubuğunda rastgele metin.
Durum çubuğunu geri yükleme.
Durum çubuğunda çalışan çizgi.

Pencere başlığının hızlı değişimi.
Pencerenin başlığını değiştirme (dosya adını gizleyerek).
Orijinal başlığa dön.
Şu anda açık olan nedir.
Metin dosyalarıyla çalışma.
Metin dosyası yazma ve okuma.
Birden çok metin dosyasının işlenmesi.
Bir metin dosyasında bir satırın sonunu bulma.
Metin dosyasından excel'e kopyalayın.

İçeriği bir metin dosyasına kopyalayın.
Verileri txt'ye aktarın.
Verileri html'ye aktarın.
256'dan fazla sütuna ihtiyaç duyan verileri içe aktarın.
Değerli dosyaların yedek kopyalarını oluşturun.
Dosya açılışlarının sayısını sayma.
Etkin hücrede dosyanın yolunu görüntüleme.
Bir RTF dosyasının içeriğini Excel'e kopyalama.
Kapalı bir çalışma kitabından veri kopyalama.
Kapalı bir dosyadan veri ayıklanıyor.
Dosyalarda bir kelime arayın.
Bir metin dosyası oluşturun ve dosyaya metin girin.
Metin dosyası oluşturma ve metin girme (dosyanın sonunun algılanması).
Excel elektronik tablosuna dayalı Word belgeleri oluşturun.
Dizin oluşturma ve silme komutları.
Geçerli dizini alın.
Dizini değiştir.

Bir dizindeki tüm dosyaları görüntüleyin.
Bir dizindeki tüm dosyaları görüntüleyin.
Microsoft Excel çalışma alanı.
Çalışma kitabı.
Çalışma kitabı adlarının sayısı.
Çalışma kitabı koruması.
Kitap basımının yasaklanması.
Bir kitap (veya metin dosyaları) açma.
Bir kitap açma ve A1 hücresine metin ekleme.
Kaç kitap açık.
Tüm kitapları kapatmak.
Çalışma kitabını yalnızca koşul karşılandığında kapatma.
Çalışma kitabını geçerli tarih olan bir adla kaydedin.
Çalışma kitabının kaydedilip kaydedilmediği.
Tek sayfalık bir kitap oluşturun.
Bir kitap oluşturun.
İstenmeyen adların kaldırılması.
Çalışma kitabının hızlı çoğaltılması.
Sayfaları sıralama.
Tüm çalışma sayfalarında maksimum değeri bulma.
Çalışma kağıdı.
Çalışma sayfasının korunup korunmadığını kontrol etme.
Sıralanmış sayfaların listesi.
Yeni bir sayfa oluşturun.
Yeni bir sayfa oluşturun.
Tarihe bağlı olarak sayfaları silin.
Bir kitaptaki bir sayfayı kopyalama.
Bir sayfayı yeni bir çalışma kitabına kopyalama (oluşturuldu).
Kitaptaki bir sayfayı taşıma.
Birden çok sayfayı yeni bir çalışma kitabına taşıyın.
Mevcut dosyayı değiştirin.
Kitabın "çevrilmesi".
Kitabın, sayfanın ve geçerli tarihin adını içeren bir üstbilgi ve altbilgi ekleyin.
Levha var mı?
Levha var mı?
Etkin çalışma kitabındaki sayfa sayısını görüntüleyin.
Etkin çalışma kitabındaki sayfa sayısını köprüler olarak görüntüleyin.
Etkin sayfaların adlarını sırayla görüntüleyin.
Geçerli çalışma kitabının adını ve sayfa numaralarını görüntüleyin.
Sayfayı görünmez yapın.
Tüm sayfalarda kaç sayfa var?
Hücre ve aralık (sütunlar ve satırlar).
Satırları başka bir sayfaya kopyalama.
Sütunları başka bir sayfaya kopyalayın.
Belirtilen değerleri içeren hücre sayısını sayın.
Belirtilen değerleri içeren bir aralıktaki hücre sayısını sayın.
Bir aralıktaki görünür hücrelerin sayısını sayın.
Bir aralıktaki hücre sayısını ve değerlerinin toplamını belirleme.
Hücre sayısını sayma.
Değerleri değiştiğinde tablo verilerinin otomatik olarak yeniden hesaplanması.
Hücrelere veri girme.
Formülleri kullanarak veri girme.
Seri veri girişi.
Hücrelere metin verilerini girin.
Kitap adı, sayfa ve sayfa sayısı hücrelerinde çıktı.
Boş satırları kaldırma.
Boş satırları kaldırma.
Boş satırları kaldırma.
Koşullara göre bir satırı silme.
Gizli satırları kaldırma.
Kullanılmış gizli satırları veya sıfır yükseklikte satırları kaldırın.
Yinelenenleri maske ile kaldırma.

Geçerli hücrenin üzerindeki aralığın seçimi.
Bir hücre seçin ve içine bir sayı girin.
Negatif değerleri vurgulama.
Aralık seçimi ve mutlak adreslerin kullanımı.

Aralıklarla hücreleri seçin.
Birkaç aralığın seçimi.
Hücre hareketi.
Bir sütundaki en yakın boş hücreyi bulma.
Maksimum değeri bulma.
Desene göre arayın ve değiştirin.
Sonucu ayrı bir pencerede görüntüleyerek bir değer arayın.

Bulunan verilerin seçimiyle arama yapın.
Bir aralıkta koşula göre arama yapın.
Bir aralıktaki boş olmayan son hücreyi bulma.
Bir sütunda boş olmayan son hücreyi bulma.
Arka arkaya boş olmayan son hücreyi bulma.
Bir aralıkta mavi renkli bir hücre arayın.
Bir aralıkta negatif bir değer bulma ve mavi ile vurgulama.
Bir sütunda bir değerin varlığını arayın.
Bir aralıktaki eşleşmeleri bulma.
Bir aralıktaki bir hücreyi arayın.
Bir aralıktaki bir hücreyi arayın.
Bir aralıkta yaklaşık bir değer bulma.
Veri içeren bir aralığın başlangıcını ve sonunu bulur.
Verilerin başlangıcını bulma.
Değerlerin otomatik olarak değiştirilmesi.
Hızlı doldurma aralığı (dizi).
Aralığı (dizi) doldurma.
Belirtilen aralığı (dizi) doldurma.
Aralığı (dizi) doldurma.
Aralığın ilk değerlerinin toplamının hesaplanması.
Elektronik saatin hücresine yerleştirme.
"Alarm".
Aralığın üst ve alt sınırlarının tasarımı.
Aktif hücre adresi.
Aktif hücre koordinatları.
Aktif hücre formülü.
Bir hücreden bir formül alın.
Hücre veri türü.
Aralık sonu adresinin çıktısını alın.
Seçilen aralık hakkında bilgi alma.
Kelimeyi hücredeki 13. karakterden alın.
Değişken bir liste (tablo) oluşturma.
Boş bir değer olup olmadığını kontrol edin.
Hücre kesişimi.
Seçilen aralığı ile çarpın.
Bir aralıktaki tüm verilerin eşzamanlı çarpımı.
Aralığı şuna göre bölün.
Aralıktaki her hücrenin karesini alma.
Yalnızca görünür hücrelerin verilerini özetleyin.
Sayısal değerlere sahip hücrelerin toplamı.
Toplama yaparken, imleç aralığın içindedir.

Faiz miktarına göre hesaplanır.
Faiz miktarına göre hesaplanır.
Komisyon hesaplamasının özet örneği.
Menzil hareketi.
Seçili hücreden ofset.
Hücreleri sütunda döngüye alma.
Bir aralık doldurma oluşturun.
Hücre parametre seçimi.
Aralık bölünmüş.
Aralık verilerinin birleştirilmesi.
Aralık verilerinin birleştirilmesi.
Maksimum sütunu veya satırı alın.
Olası aralık değerlerinin sınırlandırılması.
Okuma ve yazma aralıklarının hızının test edilmesi.
Hücre seçildiğinde MsgBox'ı açın.
Hat gizleme.
Birden çok satırı gizleme.
Bir sütunu gizleme.
Birden çok sütunu gizleme.
Bir satırı hücre adına göre gizleme.
Hücre adreslerine göre birden çok satırı gizleme.
Bir sütunu hücre adına göre gizleme.
Hücre adreslerine göre birden çok sütunu gizleme.
Hücre yanıp sönüyor.
Notlarla çalışmak.
Çalışma sayfasındaki tüm yorumları görüntüler.
Yorum çıkarma işlevi.
Korunan sayfaların notlarının listesi.

Notların listesi ayrı bir listede.
Notların listesi ayrı bir listede.

Notların sayısını sayma.
Notları saymak.
Not içeren hücreleri seçin.
Tüm notları görüntüleyin.
Notların rengini değiştirin.
Not ekleme.
Bir aralığa koşula göre notlar ekleme.
Yorumu bir hücreye aktarma ve geri alma.

Değerleri bir hücreden bir yoruma aktarma.
Şeritteki özel sekmeler.
Araç çubuğu ekleme.
Araç çubuğuna düğme ekleme.
Tek tuşla panel.
İki düğmeli panel.
Sağda bir panel oluşturma.

Özel bir menü oluşturma (seçenek 1).
Özel bir menü oluşturma (seçenek 2).
Özel bir menü oluşturma (seçenek 3).
Özel bir menü oluşturma (seçenek 4).
Özel bir menü oluşturma (seçenek 5).
Özel bir menü oluşturma (seçenek 6).
Excel ana menü öğelerinin bir listesini oluşturun.
Bağlam menüsü öğelerinin bir listesini oluşturma.
Belirli bir koşul altında bir araç çubuğunun görüntülenmesi.
Araç çubuklarını gizleme ve gösterme.
Düğmelerim için araç ipucu oluştur.
Çalışma sayfası verilerine dayalı bir menü oluşturun.
Bir bağlam menüsü oluşturma.
Bağlam menüsü kilidi.
Araçlar menüsüne komut ekleme.
Görünüm menüsüne komut ekleme.
Liste içeren bir panel oluşturma.
Başrolde bir asistanla çizgi film.
Yardımcıyı metin, başlık, düğme ve simge ile tamamlama.
Yeni yardımcı seçenekler.
Dolgu Rengi Sihirbazını kullanın.
DİYALOG PENCERELERİ.
GİRİŞ KUTUSU işlevi (değer girişi yoluyla).
Çağrı önizleme.
İletişim kutusunda veri girişinin ayarlanması.

İletişim kutusunu açar (Dosyayı aç).
(Yazdır) iletişim kutusunu açar.
Diğer İletişim Kutuları.
Tarayıcıyı Excel'den çağırmak.
Veri girişi iletişim kutusu.
Yazı tipi ayarları iletişim kutusu.
Varsayılan değerler.
Metin biçimlendirme. Tablolar. KENARLIKLAR VE DOLGU.
Kullanılabilir yazı tiplerinin bir listesini görüntüleyin.
Tüm sayıların metninden seçin.
Büyük harf sadece metnin başında.
Aranan metnin tekrar sayısını sayma.
Metinden isteğe bağlı bir öğenin seçilmesi.
Metni geriye doğru görüntüleyin.
Büyük harflerle İngilizce metin.
Excel'den bir sembol tablosu başlatma.
kullanıcı, bilgisayar, yazıcı vb. hakkında bilgiler.
Kullanıcı adı alın.
Monitör çözünürlüğü ekranı.
Kullanılan yazıcı hakkında bilgi alın.
Bilgisayar diskleri hakkındaki bilgileri görüntüleyin.
KULLANICI FORMLARI.
DİYAGRAM.
Makro kullanarak grafik oluşturma.
Diyagramı ayrı bir dosyaya kaydetme.
Bir düğmeye tıklayarak çizelgeler oluşturun ve silin.
Ayrı bir pencerede diyagramların bir listesini görüntüleyin.
Rastgele bir renk paleti uygulama.
Grafik şeffaflık etkisi.
Birden çok çalışma sayfasından alınan verilere dayalı bir grafik oluşturma.
Grafik verileri için etiketler oluşturun.
FARKLI PROGRAMLAR.
Çapraz bulmacaları derlemek için program.
DVD kapağı oluşturun.
Oyun "Mayın Tarlası".
Oyun "Hayvanı tahmin et".
Belirli bir renkteki hücrelere dayalı hesaplama.
DİĞER FONKSİYONLAR VE MAKROLAR.
Fonksiyon tuşlarını çağırma.
Aritmetik ortalamanın hesaplanması.
Sayıların "paraya" çevrilmesi.
En yakın Pazartesiyi arayın.
Tam yılların sayısını saymak.
Ağırlıklı ortalamanın hesaplanması.
Ayın numarasını ismine çevirin.
Göreceli bağlantıları kullanma.
Excel elektronik tablosunu HTML formatına dönüştürün.
Rastgele numara üreticisi.
Rastgele sayılar - aralığa dayalı.
Bir işlevi hücreye girmeden uygulama.
Adlandırılmış nesneleri sayma.
Bir makro ile otomatik filtreyi etkinleştirin.
Çalışan bir çizginin oluşturulması.
Çalışan bir resmin oluşturulması.
Dönen Otomatik Şekiller.
Renk tablosunu çağırmak.
Hesap makinesi oluşturma.
Soyadı, adı ve soyadının çekimi.
TARİH VE SAAT.
Çıkış tarihi ve saati.
Çıkış tarihi ve saati.
Sistem tarihini alma.
Tarih ve saatleri ayıklayın.
İşlev DateFull.Kullanılan MS Office sürümü belirtilmemiş.

VBA, Microsoft uygulamaları için standart komut dosyası dili olarak kabul edilir ve artık tüm Office uygulamalarına ve hatta diğer şirketlerin uygulamalarına dahil edilmiştir. Bu nedenle, Excel için VBA'da uzmanlaştıktan sonra, diğer Microsoft yazılım ürünleri için doğrudan makro oluşturmaya geçebilirsiniz. Ayrıca, çok çeşitli uygulamaların işlevlerini aynı anda kullanan tam teşekküllü yazılım ürünleri oluşturabileceksiniz.

Excel'de makrolar nasıl etkinleştirilir

Varsayılan olarak, Excel'de makroları yönetmekten ve gezinmekten sorumlu sekme gizlidir. Bu seçeneği etkinleştirmek için sekmeye gidin Dosya gruba Seçenekler. Görüntülenen iletişim kutusunda Seçeneklermükemmel, sekmeye git Şerit kurulumu, sağ açılan kutuda, sekmenin karşısına bir işaret koyun Geliştirici. Bu adımlar, Excel 2010 ve sonraki sürümleri için geçerlidir.

Şeritte yeni bir sekme görünecek geliştirici Excel otomasyon kontrolleri ile.

Excel'de Makro Yazma

sekmesinde geliştirici grup içinde kod, düğmesine basın Makro kaydı. Bir iletişim kutusu belirecektir makro kayıt, bu, yazılmakta olan gelecekteki kod hakkında bazı bilgiler ister. İlk kez bir makro oluşturuyorsanız, düğmeyi tıklamanız yeterlidir. TAMAM. Artık Excel, veri girişi, biçimlendirme veya grafik oluşturma olsun, bir VBA modülündeki her kullanıcı eylemini yakalayacaktır. Makro kaydını durdurmak için düğmesine tıklayın. Kaydetmeyi bırak, aynı grupta olan Kod.

Düğmeyi kullanarak alternatif bir makro kayıt seçeneği de kullanabilirsiniz. makro kayıt, Excel çalışma kitabının sol alt köşesinde bulunur (durumun sağında Hazır).

Artık butona tıklayarak oluşturulan tüm makroların listesini görüntüleyebilirsiniz. Makro, bir grupta olmak Kod. Görüntülenen iletişim kutusunda, kodlarınıza daha açıklayıcı adlar verebilir veya belirli bir makroyu çalıştıracak klavye kısayolları ayarlayabilirsiniz. Bu pencereyi başlatmanın alternatif bir yolu da Alt + F8 tuşlarına basmaktır.

Makroları düzenleme

Tebrikler! İlk makronuzu yazdınız. Excel'in bizim için ne tür bir kod ürettiğini şimdi kontrol etmek mantıklı olacaktır. Oluşturulan kod VBA'da (Visual Basic for Applications) yazılmıştır. Görmek için açmanız gerekiyor. EditörVB(VBE), Alt + F11 veya düğmesine basılarak başlatılır GörselTemel sekme Geliştirici.

Düzenleyicide karışıklığı önlemek için çalışma kitabının, sayfasının veya modülün yalnızca bir sekmesiyle çalışabilirsiniz. Editörün gerçek hayatta nasıl göründüğü budur.

Bu aşamada VBA editörünün çeşitli pencerelerini ve menülerini daha ayrıntılı olarak incelemeyi öneriyorum. Bu size daha sonra çok zaman kazandıracaktır.

Kodu görüntülemek için bir şubeye tıklayın Modüller projeler penceresinde ve görünen şubeye çift tıklayın modül1 . Editör, resimde gösterildiği gibi kodu içeren bir pencere açacaktır.

Burada Excel'de çalışırken yazılan oluşturulan kodu düzenleyebilirsiniz. Örneğin, belirli bir sütunu 1'den 10'a kadar değerlerle doldurmak istediğinizi varsayalım. A sütununun ilk üç hücresine 1, 2 ve 3 değerlerini giren ilk üç adıma zaten sahipsiniz. Kalan yedi adımı eklememiz gerekiyor.

Yukarıdaki koda bakarsanız makronun belirli bir şekilde yapılandırıldığını göreceksiniz. Uygulama önce Range("A1").Select komutunu kullanarak imleci bir hücreye taşır, ardından ActiveCell.FormulaR1C1 = "1" kullanarak içeriğini düzenler. Böylece kalan adımlar için hücrenin adresini ve bu hücreye yazmak istediğiniz değeri değiştirerek bu adımları tekrarlayabiliriz. Örneğin, A4 hücresini 4'e ayarlamak için şunu yazarsınız:

Aralık("A4").Seçin
ActiveCell.FormulaR1C1 = "4"

Ve kalan değerler için aynı adımları tekrarlayın.

Düzenlemeyi bitirdikten sonra çalışma kitabını kaydedin. Makroyu F5 düğmesine basarak çalıştırabilir veya Excel çalışma kitabına dönerek sekmeye gidebilirsiniz. geliştirici gruba kod -> makrolar ve listeden ilgilendiğiniz makroyu seçin.

Excel tarafından oluşturulan kodu dikkatlice incelemek için birkaç dakikanızı ayırın. Yeni başlayan biriyseniz, kodu öğrenmek için birkaç dakika harcamak, daha sonra VBA nesnelerini tanıtmada uzun bir yol kat edecektir. Lütfen dikkate aldığımız örneğin sadece bir örnek olduğunu unutmayın. Daha sonra tartışacağımız benzer sonuçlara ulaşmanın daha hızlı ve daha verimli yolları var.

Excel makrolarının yürütme hızını artırma

Çok uzak çok iyi. Makronun yürütülmesini hızlandırmaya yardımcı olacak birkaç numaraya bakalım. Örnek olarak yukarıdaki kod parçasını düşünün. Modern bilgisayarlar, söz konusu kodu o kadar hızlı çalıştıracak ki, farkına bile varmayacaksınız. Ama ya işlemi 50.000 kez yapmanız gerekiyorsa. Biraz zaman alacak. Yazdığınız makro yüzlerce satır uzunluğundaysa, makro yürütme sırasında kullanılmayan bazı işlemleri keserek kodun yürütülmesini hızlandırabilirsiniz.

Application.ScreenUpdating komutunu kullanma

İlk hile, makro yürütülürken ekranı güncellemeyi reddetmektir. Bu, Excel'in bilgisayarın işlem gücünden tasarruf etmesine ve yalnızca tüm kod yürütüldükten sonra ekranı yeni değerlerle güncellemesine olanak tanır. Bunu yapmak için makronun başında ekran yenilemeyi devre dışı bırakmak için bir komut ve makronun sonunda ekran yenilemeyi etkinleştirmek için bir komut eklemeniz gerekir.

1
2
3
4
5
6
7
8
9
10

Alt Makro1()

Aralık("A1").Seçin

Aralık("A2").Seç

Aralık("A3").Seçin


son alt

Application.ScreenUpdating komutu, Excel'e yeniden hesaplanan verileri ekranda görüntülemeyi durdurmasını ve kod yürütmenin sonunda bitmiş değerleri döndürmesini söyler.

Uygulama komutunu kullanma Hesaplama

İkinci numara, otomatik hesaplamaları devre dışı bırakmaktır. Açıklamama izin ver. Bir kullanıcı veya işlem bir hücreyi her güncellediğinde, Excel ona bağlı olan tüm hücreleri yeniden hesaplamaya çalışır. Diyelim ki makronun güncellemeye çalıştığı hücre 10.000 diğer hücreyi etkiliyorsa, Excel kod bitmeden hepsini yeniden hesaplamaya çalışacaktır. Buna göre, çok sayıda etkileyen hücre varsa, yeniden hesaplama kod yürütmesini önemli ölçüde yavaşlatabilir. Bunun olmasını önlemek için Uygulamayı ayarlayabilirsiniz. Formül yeniden hesaplamayı manuel moda geçirecek ve ardından makronun sonunda otomatik hesaplamayı döndürecek olan kodun başında hesaplama.

1
2
3
4
5
6
7
8
9
10
11
12

Alt Makro1()
Application.ScreenUpdating = Yanlış

Aralık("A1").Seçin
ActiveCell.FormulaR1C1 = "1"
Aralık("A2").Seç
ActiveCell.FormulaR1C1 = "2"
Aralık("A3").Seçin
ActiveCell.FormulaR1C1 = "3"

Application.ScreenUpdating = Doğru
son alt

Makronun sonunda bu seçeneği tekrar otomatik olarak değiştirmeyi unutmayınız. Aksi takdirde, sekmeye tıklayarak bunu Excel'in kendisinde yapmanız gerekecektir. formüller gruba hesaplama ve Seç Hesaplama seçenekleri –> Otomatik.

Hücre seçiminden ve aralıklarından kaçının

Otomatik makro kayıt modunda, Excel'in Aralık("A1") gibi bir hücre seçim komutunu çok sık kullandığını fark edebilirsiniz. Seç. Örneğimizde, bir hücreyi seçmek ve değerini değiştirmek için bu komutu birkaç kez kullandık. Bunu basitçe hücrenin adresini belirterek ve gerekli değere ayarlayarak önleyebilirsiniz (Makro, imlecin bir hücreden diğerine hareketini kaydetti, dolayısıyla bu adımları ekledi. Ancak, gerekli değildir). Yani daha verimli bir kod şöyle görünecektir.

1
2
3
4
5
6
7
8
9
10
11

Alt Makro1()
Application.ScreenUpdating = Yanlış
Application.Calculation = xlCalculationManual
Aralık("A1").Değer = 1
Aralık("A2").Değer = 2
Aralık("A3").Değer = 3
Aralık("A4").Değer = 4
Aralık("A5").Değer = 5
Uygulama.Hesaplama = xlHesaplamaOtomatik
Application.ScreenUpdating = Doğru
son alt

Bu durumda, sadece hücreye başvurduk ve onu hiç seçmeden gerekli değeri verdik. Bu yöntem öncekinden daha hızlıdır.

Excel makro örnekleri

Aşağıda, en çok tekrarlanan görevleri otomatikleştirmenize yardımcı olacak birkaç örnek VBA kodu bulunmaktadır.

Çok az kişi, popüler Microsoft Excel ürününün ilk sürümünün 1985'te ortaya çıktığını biliyor. O zamandan beri, birkaç değişiklik geçirdi ve dünya çapında milyonlarca kullanıcı tarafından talep edildi. Aynı zamanda, birçok insan bu elektronik tablo işlemcisinin yeteneklerinin yalnızca küçük bir kısmıyla çalışıyor ve Excel'de programlama yeteneğinin hayatlarını nasıl kolaylaştırabileceğinin farkında bile değil.

VBA nedir

Excel'de programlama, orijinal olarak Microsoft'un en ünlü elektronik tablo işlemcisinde yerleşik olan Visual Basic for Application programlama dili kullanılarak gerçekleştirilir.

Uzmanlar, avantajlarından karşılaştırmalı bir geliştirme kolaylığı olarak bahseder. Pratikte görüldüğü gibi, profesyonel programlama becerilerine sahip olmayan kullanıcılar bile VBA'nın temellerini öğrenebilirler. VBA'nın özellikleri, bir ofis uygulama ortamında bir komut dosyasının yürütülmesini içerir.

Programın dezavantajı, farklı sürümlerin uyumluluğu ile ilgili problemlerdir. Bunlar, VBA program kodunun, ürünün yeni sürümünde bulunan ancak eski sürümde olmayan işlevselliğe atıfta bulunmasından kaynaklanır. Ayrıca, kodun dışarıdan biri tarafından değiştirilmeye açık olması da bir dezavantajdır. Ancak Microsoft Office ve IBM Lotus Symphony, kullanıcının ilk kodu şifrelemesine ve görüntülemek için bir parola belirlemesine izin verir.

Nesneler, koleksiyonlar, özellikler ve yöntemler

VBA ortamında çalışacak kişilerin anlaması gereken bu kavramlardır. Her şeyden önce, bir nesnenin ne olduğunu anlamanız gerekir. Excel'de bu, çalışma sayfası, çalışma kitabı, hücre ve aralıktır. Bu nesnelerin özel bir hiyerarşisi vardır, yani. birbirine tabidir.

Bunlardan en önemlisi, Excel programının kendisine karşılık gelen Uygulama'dır. Ardından Çalışma Kitapları, Çalışma Sayfaları ve ayrıca Aralık gelir. Örneğin, belirli bir çalışma sayfasındaki A1 hücresine erişmek için hiyerarşiyi hesaba katan bir yol belirtmelisiniz.

"Koleksiyon" kavramına gelince, bu, kayıtta ChartObjects formuna sahip olan aynı sınıftan bir nesne grubudur. Bireysel unsurları da nesnelerdir.

Bir sonraki kavram özelliklerdir. Herhangi bir nesnenin gerekli bir özelliğidir. Örneğin, Aralık için Değer veya Formül'dür.

Yöntemler, yapılması gerekenleri belirten komutlardır. VBA'da kod yazarken, nesneden bir nokta ile ayrılmalıdırlar. Örneğin, daha sonra gösterileceği gibi, Excel'de programlama yaparken çok sık Cells(1,1).Select komutu kullanılır. Bu, koordinatları olan bir hücre seçmeniz gerektiği anlamına gelir.

Bununla birlikte, Selection.ClearContents sıklıkla kullanılır. Yürütülmesi, seçilen hücrenin içeriğinin temizlenmesi anlamına gelir.

nasıl başlamalı

Ardından, "Alt" ve "F11" tuş kombinasyonunu kullanmanın yeterli olduğu VB uygulamasına gitmeniz gerekir. Daha öte:

  • pencerenin üst kısmında bulunan menü çubuğunda Excel simgesinin yanındaki simgeye tıklayın;
  • Mudule komutunu seçin;
  • resimli simgeye tıklayarak kaydedin;
  • kodun bir taslağını yazalım.

Şuna benziyor:

alt program()

"Bizim kodumuz

"Kodumuz" satırının farklı bir renkle (yeşil) vurgulanacağını unutmayın.Nedeni, satırın başındaki kesme işaretidir, bu da bir yorumun ardından geldiğini gösterir.

Artık VBA Excel'de herhangi bir kod yazabilir ve kendiniz için yeni bir araç oluşturabilirsiniz (aşağıdaki program örneklerine bakın). Tabii ki, Visual Basic'in temellerine aşina olanlar için çok daha kolay olacaktır. Ancak, bunlara sahip olmayanlar bile, istenirse yeterince hızlı bir şekilde rahatlayabileceklerdir.

Excel'deki Makrolar

Bu ad, Visual Basic for Application dilinde yazılmış programları gizler. Böylece Excel'de programlama, istenilen kod ile makroların oluşturulmasıdır. Bu yetenekle, Microsoft elektronik tablosu, belirli bir kullanıcının ihtiyaçlarına uyum sağlayarak kendi kendine gelişir. Artık makro yazmak için modüllerin nasıl oluşturulacağını anladığınıza göre, VBA Excel programlarının belirli örneklerine bakmaya başlayabilirsiniz. En temel kodlarla başlamak en iyisidir.

örnek 1

Görev: Bir hücrenin içeriğinin değerini kopyalayacak ve ardından diğerine yazacak bir program yazın.

Bunun için:

  • "Görünüm" sekmesini açın;
  • "Makrolar" simgesine gidin;
  • "Makroyu kaydet" üzerine tıklayın;
  • açık formu doldurun.

Basit olması için, “Makro Adı” alanına “Makro1”i bırakın ve örneğin “Klavye Kısayolu” alanına hh ekleyin (bu, programı “Ctrl + h” yıldırım komutuyla çalıştırabileceğiniz anlamına gelir). Enter tuşuna basın.

Artık makro kaydı başlamış olduğundan, bir hücrenin içeriği diğerine kopyalanır. Orijinal simgeye dönün. "Makroyu kaydet" üzerine tıklayın. Bu eylem programın sonunu işaretler.

  • tekrar "Makrolar" satırına gidin;
  • listeden "Makro 1"i seçin;
  • "Çalıştır"ı tıklayın ("Ctrl + hh" klavye kısayolu başlatıldığında aynı eylem tetiklenir).

Sonuç olarak, makronun kaydı sırasında gerçekleştirilen eylem gerçekleşir.

Kodun neye benzediğini görmek mantıklı. Bunu yapmak için "Makrolar" satırına geri dönün ve "Düzenle" veya "Giriş" düğmesini tıklayın. Sonuç olarak kendilerini bir VBA ortamında bulurlar. Aslında, makro kodunun kendisi Sub Macro1() ve End Sub satırları arasında bulunur.

Örneğin, A1 hücresinden C1 hücresine kopyalama yapıldıysa, kod satırlarından biri Aralık(“C1”) gibi görünecektir.Seç. Çeviride “Range(“C1”).Select” gibi görünüyor, yani VBA Excel'e, C1 hücresine atlıyor.

ActiveSheet.Paste komutu, kodun etkin bölümünü tamamlar. Seçilen hücrenin (bu durumda A1) içeriğini seçilen C1 hücresine yazmak anlamına gelir.

Örnek 2

VBA döngüleri, Excel'de çeşitli makrolar oluşturmanıza yardımcı olur.

VBA döngüleri, çeşitli makrolar oluşturmanıza yardımcı olur. Diyelim ki y=x + x 2 + 3x 3 - cos(x) fonksiyonu var. Programını almak için bir makro oluşturmanız gerekir. Bu sadece VBA döngüleri kullanılarak yapılabilir.

İşlev argümanının ilk ve son değerleri için x1=0 ve x2=10 alın. Ek olarak, bir sabit girmelisiniz - bağımsız değişken değiştirme adımının değeri ve sayaç için başlangıç ​​değeri.

Tüm Excel VBA makro örnekleri, yukarıdakiyle aynı prosedür izlenerek oluşturulur. Bu özel durumda, kod şöyle görünür:

alt program()

adım = 0.1

x1 iken yap< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Hücreler(i, 1).Değer = x1 (x1 değeri (i,1) koordinatlı hücreye yazılır)

Hücreler(i, 2).Değer = y (y değeri (i,2) koordinatlı hücreye yazılır)

i = i + 1 (sayaç aktif);

x1 = x1 + shag (argüman, adım değeriyle değiştirilir);

endsub.

Bu makroyu Excel'de çalıştırmanın bir sonucu olarak, ilki x için, ikincisi y için değerleri içeren iki sütun elde ederiz.

Ardından, Excel için standart bir şekilde üzerlerine bir grafik oluşturulur.

Örnek 3

Diğer sürümlerde olduğu gibi VBA Excel 2010'da döngüleri uygulamak için, önceden verilen Do While yapısıyla birlikte For kullanılır.

Bir sütun oluşturacak bir program düşünün. Hücrelerinin her birinde, karşılık gelen satırın sayısının kareleri yazılacaktır. For yapısını kullanmak, onu bir sayaç kullanmadan çok kısa bir şekilde yazmanıza izin verecektir.

Öncelikle yukarıda anlatıldığı gibi bir makro oluşturmanız gerekir. Ardından, kodun kendisini yazıyoruz. 10 hücre için değerlerle ilgilendiğimize inanıyoruz. Kod şuna benziyor.

i = 1 ila 10 için Sonraki

Komut, "insan" diline "1'den 10'a kadar birer artışlarla tekrarlayın" olarak çevrilir.

Görev, örneğin, 1'den 11'e kadar olan tüm tek sayıların kareleri olan bir sütun elde etmekse, şunu yazarız:

i = 1 ila 10 için adım 1 Sonraki.

Burada adım bir adımdır. Bu durumda, ikiye eşittir. Varsayılan olarak, bu kelimenin döngüde olmaması, adımın tek olduğu anlamına gelir.

Elde edilen sonuçlar (i,1) numaralı hücrelere kaydedilmelidir. Ardından, döngü her başlatıldığında, i'nin adım değeri kadar artmasıyla, satır numarası da otomatik olarak artacaktır. Böylece kod optimize edilmiş olacaktır.

Genel olarak, kod şöyle görünecektir:

alt program()

i = 1'den 10'a Adım 1 (basitçe i = 1'den 10'a yazabilirsiniz)

Hücreler(i, 1).Değer = ben ^ 2

Sonraki (bir anlamda sayaç görevi görür ve döngünün bir kez daha başlaması anlamına gelir)

endsub.

Makroyu kaydetme ve çalıştırma dahil her şey doğru yapılırsa (yukarıdaki talimatlara bakın), her çağrıldığında belirtilen boyutta bir sütun elde edilir (bu durumda 10 hücreden oluşur).

Örnek 4

Günlük yaşamda, çoğu zaman bir duruma bağlı olarak bir veya başka bir karar verme ihtiyacı vardır. VBA Excel'de onlarsız yapamazsınız. Algoritmanın ileri yolunun seçildiği ve başlangıçta önceden belirlenmediği program örnekleri, çoğunlukla If ...Then yapısını (karmaşık durumlar için) If ...Then ...END If'yi kullanır.

Belirli bir durumu ele alalım. (1,1) koordinatlarına sahip hücrenin yazılması için "Excel" için bir makro oluşturmanız gerektiğini varsayalım:

1 argüman olumlu ise;

0 argüman boşsa;

-1 argüman olumsuzsa.

"Excel" için böyle bir makro oluşturmak, Alt ve F11 "kısayol" tuşlarının kullanılmasıyla standart şekilde başlar. Ardından aşağıdaki kod yazılır:

alt program()

x= Hücreler(1, 1).Value (bu komut x'e hücre içeriğinin değerini (1, 1) koordinatlarında atar)

x>0 ise Hücreler(1, 1).Value = 1

x=0 ise Hücreler(1, 1).Value = 0

x ise<0 Then Cells(1, 1).Value = -1

endsub.

Makroyu çalıştırmak ve Excel'deki argüman için istenen değeri elde etmek için kalır.

VBA İşlevleri

Fark etmiş olabileceğiniz gibi, Microsoft'un en ünlü elektronik tablosunda programlama yapmak o kadar da zor değil. Özellikle VBA işlevlerini kullanmayı öğrenirseniz. Toplamda, Excel ve Word'de uygulama yazmak için özel olarak oluşturulan bu programlama dili, 160'a yakın fonksiyona sahiptir. Birkaç büyük gruba ayrılabilirler. BT:

  • Matematik fonksiyonları. Bunları argümana uygulayarak kosinüs, doğal logaritma, tamsayı kısmı vb.'nin değerini alırlar.
  • finansal fonksiyonlar. Varlıkları ve Excel'de programlama kullanmaları sayesinde, muhasebe ve finansal hesaplamalar için etkili araçlar elde edebilirsiniz.
  • Dizi işleme işlevleri. Bunlar Array, IsArray; lBağlı; UBound.
  • Satır için VBA Excel işlevleri. Bu oldukça büyük bir gruptur. Örneğin, boşluk sayısı bir tamsayı bağımsız değişkenine eşit olan bir dize oluşturmak için Space işlevlerini veya karakterleri ANSI koduna dönüştürmek için Asc işlevlerini içerir. Hepsi yaygın olarak kullanılır ve Excel'de satırlarla çalışmanıza izin vererek bu tablolarla çalışmayı çok daha kolay hale getiren uygulamalar oluşturur.
  • Veri türü dönüştürme işlevleri. Örneğin CVar, bir Variant veri türüne dönüştürerek bir İfade bağımsız değişkeninin değerini döndürür.
  • Tarihlerle çalışmak için işlevler. Standart olanları önemli ölçüde genişletirler.Böylece WeekdayName işlevi, haftanın gününün adını (tam veya kısmi) numarasına göre döndürür. Zamanlayıcı daha da kullanışlıdır. Gece yarısından günün belirli bir noktasına kadar geçen saniye sayısını verir.
  • Sayısal bir argümanı farklı sayı sistemlerine dönüştürmek için işlevler. Örneğin, Oct, bir sayının sekizli gösterimini verir.
  • Biçimlendirme işlevleri. Bunlardan en önemlisi Formattır. Biçim bildiriminde verilen talimatlara göre biçimlendirilmiş bir ifadeyle Variant türünde bir değer döndürür.
  • vb.

Bu işlevlerin özelliklerini ve uygulamalarını incelemek, Excel'in kapsamını önemli ölçüde genişletecektir.

Örnek 5

Daha karmaşık sorunları çözmeye devam etmeye çalışalım. Örneğin:

İşletmenin gerçek maliyet seviyesinin raporunun bir kağıt belgesi verilir. Gerekli:

  • Excel elektronik tablosunu kullanarak şablon bölümünü geliştirin;
  • İlk verileri doldurmak için talep edecek bir VBA programı oluşturun, gerekli hesaplamaları yapın ve şablonun ilgili hücrelerini bunlarla doldurun.

Çözümlerden birini düşünelim.

Şablon oluştur

Tüm eylemler Excel'de standart bir sayfada gerçekleştirilir. Serbest hücreler, tüketici şirketinin adı, maliyet miktarı, seviyeleri ve cirosu hakkında veri girmek için ayrılmıştır. Raporun derlendiği şirket (topluluk) sayısı sabit olmadığından, sonuçlara göre değerlerin girilmesi için hücreler ve uzmanın tam adı önceden rezerve edilmez. Çalışma sayfasına yeni bir ad verilir. Örneğin, "Çet".

Değişkenler

Bir şablonu otomatik olarak dolduracak bir program yazmak için notasyonu seçmelisiniz. Değişkenler için kullanılacaklar:

  • NN - tablonun geçerli satırının numarası;
  • TP ve TF - planlı ve fiili ciro;
  • SF ve SP - gerçek ve planlanan maliyet miktarı;
  • IP ve IF - planlanan ve gerçek maliyet düzeyi.

Aynı harflerle belirtelim, ancak "ön ek" ile verilen sütundaki toplam Itog birikimi. Örneğin, ItogTP, "planlanan ciro" başlıklı bir tablo sütununa atıfta bulunur.

VBA programlama kullanarak bir sorunu çözme

Tanıtılan gösterimi kullanarak sapmalar için formüller elde ederiz. Hesaplamanın% olarak yapılması gerekiyorsa, (F - P) / P * 100 ve - (F - P) miktarına sahibiz.

Bu hesaplamaların sonuçları, Excel elektronik tablosunun uygun hücrelerine hemen girilebilir.

Gerçek ve tahmin toplamları için ItogP=ItogP + P ve ItogF=ItogF+ F formülleri kullanılarak elde edilir.

Sapmalar için, hesaplama yüzde olarak yapılıyorsa = (ItogF - ItogP) / ItogP * 100'ü ve toplam değer olması durumunda - (ItogF - ItogP) kullanın.

Sonuçlar yine hemen uygun hücrelere yazılır, bu nedenle bunları değişkenlere atamaya gerek yoktur.

Oluşturulan programı çalıştırmadan önce, çalışma kitabını örneğin "Report1.xls" adı altında kaydetmeniz gerekir.

Başlık bilgileri girildikten sonra "Raporlama tablosu oluştur" butonuna sadece 1 kez basılması gerekmektedir. Dikkat edilmesi gereken başka kurallar da var. Özellikle tablodaki her aktivite için değerler girdikten sonra her seferinde "Satır Ekle" butonuna tıklanmalıdır. Tüm verileri girdikten sonra "Bitir" düğmesine tıklamanız ve ardından "Excel" penceresine geçmeniz gerekir.

Artık makroları kullanarak Excel sorunlarını nasıl çözeceğinizi biliyorsunuz. Şu anda en popüler metin editörü "Word" ortamında çalışmak için vba excel kullanma yeteneği (yukarıdaki program örneklerine bakın) da gerekli olabilir. Özellikle yazının en başında gösterildiği gibi yazarak veya kod yazarak menü butonları oluşturabilirsiniz, bu sayede metin üzerinde birçok işlemin görev tuşlarına basılarak veya "Görüntüle" sekmesi üzerinden gerçekleştirilebilir. ve "Makrolar" simgesi.

Tünaydın!

Bu makaleyi MS Excel'in makrolar gibi çok büyük bir bölümüne ayırmak istiyorum, daha doğrusu baştan başlayalım ve Excel'de nasıl makro oluşturulacağına, ne işe yaradığına ve işinizde nasıl kullanılacağına bakalım.

Kendi deneyiminizden bildiğiniz gibi, bir makro ile çalışırken çok fazla "rutin" vardır, yani bir sonuç elde etmek için gereken aynı işlemler ve eylemler gerçekleştirilir, aynı tür tabloları doldurmak olabilir. veya formlar, veri işleme, ikizlere benzer haftalık, aylık raporlar vb. Ancak makroların kullanılması, Excel'in yeteneklerini sonuna kadar kullanarak bu eylemleri otomatik olarak gerçekleştirmenize, bu rutin ve monoton işlemleri Excel'in güçlü omuzlarına atmanıza izin verecektir. Ayrıca makro kullanmanın nedeni, standart Excel işlevlerinde henüz uygulanmayan gerekli özellikleri (örneğin, çıktı, tek sayfada veri toplama vb.) eklemek olabilir.

Bir makroyu hiç duymadıysanız, o zaman en doğru tanım şudur: bunlar belirli bir sıra için programlanmış ve programlama ortamında Visual Basic for Applications (VBA) dilinde yazılmış eylemlerdir.. Bir makroyu çalıştırmak tekrar tekrar yapılabilir ve bu, Excel'i ihtiyacımız olan, sadece hoşlanmadığımız veya manuel olarak yapmak istemediğimiz herhangi bir eylem dizisini gerçekleştirmeye zorlar. Tüm Microsoft Office kompleksi için çok çeşitli programlama dillerine rağmen, VBA standarttır ve ofis paketinin herhangi bir uygulamasında çalışır.

Bu nedenle, Excel'de bir makro oluşturmanın 2 yolu vardır:

Excel'de Makro Oluşturunmakro kaydedici ile

Başlangıç ​​olarak, makro kaydedicinin ne olduğunu ve makronun bununla ne ilgisi olduğunu açıklayalım.

makro kaydedici- bu, VBA programlama dili kodlarındaki herhangi bir kullanıcı eylemini yorumlayan ve çalışma sırasında elde edilen komutları program modülüne yazan, Excel'e gömülü küçük bir programdır. Yani makro kaydedici açıkken ihtiyacımız olan günlük raporu oluşturursak, makro kaydedici komutlarındaki her şeyi adım adım kaydedecek ve sonuç olarak otomatik olarak bir günlük rapor oluşturacak bir makro oluşturacaktır.

Bu yöntem, VBA dil ortamında çalışma bilgi ve becerisine sahip olmayanlar için oldukça faydalıdır. Ancak bir makronun bu kadar kolay yürütülmesi ve kaydedilmesi dezavantajlarının yanı sıra artılarına da sahiptir:

  • Makro kaydedici yalnızca hissedebildiğini kaydedebilir, bu da yalnızca düğmeler, simgeler, menü komutları ve bunun gibi her şey kullanıldığında eylemleri kaydedebileceği anlamına gelir, bu tür seçenekler onun için mevcut değildir;
  • Kayıt süresi içinde bir hata yapılması durumunda da kayıt altına alınacaktır. Ancak VBA'da yanlış yazdığınız son komutu silmek için son eylemi geri al düğmesini kullanabilirsiniz;
  • Makro kaydedicide kayıt sadece MS Excel penceresi sınırları içinde yapılır ve programı kapatmanız veya başka bir programı açmanız durumunda kayıt durdurulur ve yapılmaz.

Makro kaydediciyi kayıt için etkinleştirmek için aşağıdaki işlemleri gerçekleştirmelisiniz:


Makro kaydedici ile çalışmanın bir sonraki adımı, daha fazla makro kaydı için parametrelerini ayarlamak olacaktır, bu pencerede yapılabilir. "Makro Kayıt", nerede:

  • makro adı alanı- herhangi bir dilde anladığınız bir isim yazabilirsiniz, ancak bir harfle başlamalı ve noktalama işareti ve boşluk içermemelidir;
  • klavye kısayol alanı- gelecekte, makronuzu hızlı bir şekilde başlatmak için sizin tarafınızdan kullanılacaktır. Yeni bir tane kaydetmeniz gerektiğinde, bu seçenek menüde mevcut olacaktır. "Servis" - "Makro" - "Makrolar" - "Çalıştır" veya sekmesinde "Geliştirici" bir düğmeye basmak "Makrolar";
  • "Şuraya kaydet..." alanı- makro metninin kaydedileceği (ancak gönderilmeyeceği) yeri belirtebilirsiniz ve bunlar 3 seçenek:
    • "Bu kitap"— makro, geçerli çalışma kitabının modülüne yazılacak ve yalnızca bu Excel çalışma kitabı açıkken yürütülebilecek;
    • "Yeni bir kitap"- makro, Excel'de boş bir yeni çalışma kitabının oluşturulduğu şablona kaydedilecektir; bu, makronun bundan sonra bu bilgisayarda oluşturulacak tüm çalışma kitaplarında kullanılabilir olacağı anlamına gelir;
    • "Kişisel Makro Kitabı" adlı özel bir Excel makro çalışma kitabıdır. "Kişisel.xls" ve makroların özel bir depo-kütüphanesi olarak kullanılır. Başlangıçta, Personal.xls kitabındaki makrolar belleğe yüklenir ve herhangi bir zamanda herhangi bir kitapta çalıştırılabilir.
  • Açıklama alanı- burada makronun neyi ve nasıl yapması gerektiğini, neden oluşturulduğunu ve hangi işlevleri taşıdığını açıklayabilirsiniz, bu tamamen bilgilendirici bir alandır, hafıza için çağrılır.

Makronuzu başlatıp kaydettikten sonra gerekli tüm işlemleri yaptıktan sonra komutu ile kaydı durdurabilirsiniz. "Kaydetmeyi bırak" ve makro kaydedicili makronuz oluşturulacaktır.

Excel'de Makro OluşturunVisual Basic Düzenleyicisi'nde.

Bu yöntemde, yukarıda söylediğim gibi herhangi bir Excel sürümünde yerleşik olarak bulunan VBA program düzenleyicisi aracılığıyla Excel'de nasıl makro oluşturulacağına bakacağız.

VBA program düzenleyicisini başlatmak, Excel programınızın sürümüne bağlı olarak farklıdır:

  • Excel 2003 ve sonraki sürümlerinde, menüde ihtiyacımız var "Hizmet", Öğeyi seçin "Makro" ve bas "Görsel Temel Düzenleyici";
  • Excel 2007 ve sonraki sürümlerinde, sekmemiz gerekiyor "Geliştirici" düğmesine basın "Görsel Temel Düzenleyici". Bu sekmeyi bulamamanız durumunda, menü öğesini seçerek etkinleştirmeniz gerekir. "Dosya" - "Seçenekler" - "Şeridi Özelleştir" ve iletişim kutusunda, sekmeyi etkinleştirmek için kutuyu işaretleyin "Geliştirici".

Açılan pencerede VBA editörünün arayüzünü görebilirsiniz, burada her şey İngilizce yazılmış ve yerelleştirmeler yok, aramanıza gerek yok, sadece kabul edin ve çalışın, özellikle ilk başta sadece anlaşılmaz olduğu için, ve sonra her şey tanıdık gelecek.

Peki, VBA düzenleyicide nasıl çalışılır, nerede saklanır ve Excel'de bir makro nasıl oluşturulur. Editörü görür görmez bu tür sorular ortaya çıkıyor ve şimdi hepsini ele alacağız.

Tüm makrolarımız sözde yazılım modülleri. Excel'in herhangi bir sürümünün kitaplarından herhangi birinde, herhangi bir miktarda herhangi bir program modülü oluşturabilir ve oluşturduğumuz tüm makroları bunlara yerleştirebiliriz. Bir modül, ihtiyacınız olan veya oluşturduğunuz herhangi bir sayıda makro içerebilir. Pencerede mevcut modüller Proje Gezgini ve makro düzenleyicinin sol üst köşesinde bulunur (tuş kombinasyonu ile de çağrılabilir) CTRL+R).

VBA düzenleyicisindeki program modülleri çeşitli biçimlerde bulunur ve farklı seçenekler ve durumlar için kullanılır:


Aslında, standart bir modülde çalışırken makronun kendisi şöyle görünür:

Çalışan bir makro örneğini düşünün:

  • Tüm makrolar mutlaka operatörle başlayacaktır. Alt, ardından makronuzun adı ve parantez içine alınmış bir argüman listesi. Argüman olmadığı durumlarda parantezler boş bırakılmalıdır;
  • Başarısız, tüm makrolar operatörle biter son alt;
  • Operatörler arasındaki veriler Alt ve son alt, makro çalıştırıldığında çalışacak makronun gövdesidir. Örnekte, makro kontrol eder ve girdi üzerine onu veritabanı listesinde bulur ve kriterler tarafından belirtilen değeri verir.

Gördüğünüz gibi, genel olarak herhangi bir programlama veya özel olarak VBA deneyiminiz yoksa, ikinci yolu kullanmak ve anlamak daha zordur. Makronun otomatik olarak işini yapmaya başlaması için hangi komutların ve nasıl girildiğini, hangi argümanları kullandığını anlamak ve anlamak çok zordur. Ancak, eski bilgelerin dediği gibi, yol yürüyen kişi tarafından yönetilecek ve bu nedenle pes etmemeli, büyükbaba Lenin'in emirlerini takip etmelisiniz ...

Araç çubuğunda makroları çalıştırmak için bir düğme oluşturma

Daha önce de söylediğim gibi, bir kısayol tuşu kombinasyonu ile bir makro prosedürü çağırabilirsiniz, ancak hangi kombinasyonun kime atandığını hatırlamak çok sıkıcıdır, bu yüzden en iyisi makroyu çalıştırmak için bir düğme oluşturmaktır. Düğmeler birkaç türde oluşturulabilir, yani:


Bu yöntem, MS Excel'in herhangi bir sürümü için kullanılabilir ve düğmeyi doğrudan çalışma sayfamıza bir grafik nesnesi olarak getirmemiz gerçeğinden oluşur. Bunun için ihtiyacınız olan:

  • MS Excel 2003 ve üzeri sürümlerde menüye git "Görüş", Seç "Araç çubuğu" ve düğmeye basın "Formlar".
  • MS Excel 2007 ve daha yeni sürümlerde sekmede ihtiyacın var "Geliştirici" açılır menüyü aç "Sokmak" ve nesneyi seçin "Buton".

Tüm bunlardan sonra, sol fare düğmesini basılı tutarken sayfanıza bir düğme çizmelisiniz. Çizim işleminin bitiminden sonra, düğmenize tıkladığınızda yürütülmesi gereken makroyu seçmeniz gereken bir pencere otomatik olarak açılır.

VBA'da özel işlevler nasıl oluşturulur

Prensipte, sözde kullanıcı tanımlı işlevlerin oluşturulması, standart bir program modülünde normal bir makronun oluşturulmasından çok farklı değildir. Bu kavramlar arasındaki fark, makronun kitabın veya sayfanın nesneleriyle (bunlar formüller, hücreler vb.) Doğasında bulunan eylemleri gerçekleştirmesidir, ancak kullanıcı tanımlı işlev yalnızca değerlerle çalışır. bizden aldığı ve hesaplamalar için ilk verilerle aynı argümanlardır.

Örneğin, katma değer vergisi için özel bir işlev oluşturmak için, namı diğer KDV, VBA düzenleyicimizi açmamız ve yeni bir modül eklememiz gerekiyor, menüden seçin "Sokmak" paragraf modül ve fonksiyonumuzun metnini buraya girin: Bir fonksiyon ve bir makro arasındaki temel farkın başlık olduğu unutulmamalıdır. işlev değiştirildi Alt ve dolu bir argüman listesi var, örneğimizde özet. Kodumuz girildikten sonra menüde bulunan Fonksiyon Sihirbazının standart penceresinde mevcut olacaktır. "Formüller", paragraf "İşlev Ekle".
Ve bir kategori seçin "Kullanıcı tanımlı" yazılı fonksiyonumuzun görüntüleneceği NDS.
Fonksiyonumuzu seçtikten sonra, imleci, KDV'yi hesapladığımız tutarı içerecek olan argümanın bulunduğu hücreye yerleştirebilirsiniz, her şey normal bir fonksiyonda olduğu gibi olur.
Ve sahip olduğum tek şey bu! umarım gerçekten Excel'de bir makronun nasıl oluşturulacağı ile ilgili makale açık ve size yardımcı oldu. Geri kalan yorumlar için çok minnettar olurum, çünkü bu okunabilirliğin bir göstergesidir ve bana yeni makaleler yazmam için ilham verir! Okuyun ve beğenin arkadaşlarınızla paylaşın!

VBA ve makrolar hakkında hiçbir şey bilmiyor olsanız bile, bu bölümdeki bazı püf noktaları ve püf noktaları okuduktan sonra onları daha iyi tanımaya başlayacaksınız. Makrolarla yeni başlıyorsanız, burada bazı yararlı bilgiler bulacaksınız.

. .

Önceki makalelerde, Excel'in Word ve Outlook gibi diğer Microsoft uygulamalarını nasıl yönetebileceğini gördünüz. Ancak aynı zamanda Excel'i kontrol etmek için başka uygulamalar da kullanılabilir. Örneğin, Word veya Access'te bir Excel elektronik tablosu oluşturan, onu verilerle dolduran ve ardından kaydeden bir makro yazdınız. Excel'in […]

. .

Bu teknolojiyi, Microsoft Outlook'u yönetmek ve doğrudan elektronik tablonuzdan e-posta göndermek veya not defteri girişlerinizi kopyalamak için kullanabilirsiniz. Elbette Excel'in yapısı tablo e-posta ile gönderilecek şekildedir, ancak bu yöntem yalnızca tablonun bir kısmını göndermenize izin verir. Bu kodun çalışması için […]

. .

Bu yöntem, örneğin Excel elektronik tablolarından bu makrolarla doldurulmuş tablolar içeren standart bir belgeniz varsa çok yararlı olabilir. Makroyu çalıştırabilirsiniz ve veriler Word belgesindeki tablolara aktarılacaktır. Son zamanlarda, SLA (Hizmet Düzeyi Sözleşmesi - hizmet düzeyi sözleşmeleri) hakkında bir rapor doldurmak için bir program yazma görevim vardı. Bildiri […]

. .

Makrolar genellikle uygulamaları otomatikleştirmek için kullanılır. Herhangi bir makro, belirli bir ad altında kaydedilen bir eylemler dizisidir. Microsoft Excel ile çalışırken, aynı işlem sırasını birkaç kez gerçekleştirmeniz gerekirse (örneğin, mevcut hücrenin karmaşık biçimlendirmesi veya bazı hücrelerini formüllerle doldurarak yeni bir satır ekleme), bunları kaydedebilirsiniz. eylemler ve […]