• MS Office'te verimli çalışma. Excel'de rutin görevleri makrolarla otomatikleştirme

    Kitaplarla çalışma

    Makro 1: Sıfırdan yeni bir çalışma kitabı oluşturun
    Makro 2. Belirli bir hücreyi/aralığı değiştirirken çalışma kitabını kaydedin
    Makro 3: Kapatmadan önce çalışma kitabını kaydet
    Makro 4: Çalışma kitabındaki bir çalışma sayfasını kapatmadan önce koruma
    Makro 5: Bir Excel dosyasını açarken bir sayfanın korumasını kaldırın
    Makro 6. Kitabı istediğiniz sayfada açın
    Makro 7: Kullanıcı tarafından tanımlanan belirli bir çalışma kitabının açılması
    Makro 8. Kitabın açık olup olmadığını belirleyin
    Makro 9. Bir klasörde kitap olup olmadığını belirleyin
    Makro 10. Açık çalışma kitaplarındaki tüm bağlantıları güncelleyin
    Makro 11. Tüm kitapları aynı anda kapatın
    Makro 12. Tüm çalışma kitaplarını bir klasörde açın
    Makro 13. Bir klasördeki tüm kitapları yazdırın
    Makro 14. Hücre dolana kadar kitabın kapanmasına izin vermeyin.
    Makro 15. Geçerli çalışma kitabını bugünün tarihiyle yedekle

    Sayfalarla çalışma

    Makro 16. Yeni bir çalışma sayfası ekleme ve bir ad atama
    Makro 17. Aktif olan hariç tüm sayfaları sil
    Makro 18. Etkin çalışma sayfası dışındaki her şeyi gizle
    Makro 19. Kitabın tüm sayfalarını görüntüle
    Makro 20: Çalışma Sayfalarını Taşıma
    Makro 21. Sayfaları ada göre sıralama
    Makro 22. Sekme Rengine Göre Grup Sayfaları
    Makro 23. Sayfayı yeni çalışma kitabına kopyala
    Makro 24: Her sayfa için yeni bir çalışma kitabı oluşturun
    Makro 25 - Sayfaları Yazdır
    Makro 26. Tüm sayfaları koruyun
    Makro 27. Tüm sayfaların korumasını kaldırın
    Makro 28: İçindekiler tablosu oluşturun
    Makro 29: Çalışma sayfasını çift tıklama ile yakınlaştırın
    Makro 30. Etkin satır sütununu seçin

    Aralıkları seçme ve düzenleme

    Makro 31: Aralık Seçimi ve Biçimlendirme
    Makro 32: Adlandırılmış aralıklar oluşturun ve seçin
    Makro 33. Bir sıra hücre üzerinde yineleme
    Makro 34: Aralıkları seçme ve biçimlendirme
    Makro 35. Bir aralığa boş dizeler ekleyin
    Makro 36. Tüm gizli satırları ve sütunları göster
    Macro 37 - Boş satırları kaldır
    Macro 38 - Boş sütunları kaldır
    Makro 39: Çalışma kitabındaki tüm formülleri seçme ve biçimlendirme
    Makro 40. İlk boş satırı veya sütunu bulun ve seçin
    Makro 41: İkincil dolgu rengini uygula
    Makro 42. Aralıkları çift tıklamayla sırala
    Makro 43. Kaydırma aralığını belirli bir alanda sınırlama
    Makro 44. Yaprağa yazdırılabilir alanı otomatik olarak ayarla

    Verilerle çalışma

    Makro 45: Bir aralığı kopyalayıp yapıştırın
    Makro 46: Bir aralıktaki tüm formülleri değerlere dönüştürün
    Makro 47. Metin değerlerini sayılara dönüştürün
    Makro 48. Kısa çizgileri eksiye dönüştür
    Makro 49. Bir aralıktaki tüm hücrelerden fazladan boşlukları kaldırın
    Makro 50. Aralığın her hücresinde kalan 5 karakteri kesin
    Makro 51. Hücreye eksik sıfırları ekleyin
    Makro 52. Boş hücreleri sıfırla değiştir
    Makro 53: Hücrenin başına veya sonuna metin ekleme
    Makro 54: Bir veri dönüştürme makrosu oluşturun
    Macro 55 - Verileri temizle (yazdırılmayan karakterler)
    Makro 56. Veri aralığındaki kopyaları vurgulayın
    Makro 57. Yinelenen satırları gizle
    Makro 58. Otomatik filtre oklarını seçerek gizleyin
    Makro 59. Filtrelenmiş satırları yeni bir çalışma kitabına kopyalayın
    Macro 60: AutoFilter'da her öğe için yeni bir sayfa oluşturun
    Macro 61 - Durum çubuğunda filtre uygulanmış sütunları göster

    Pivot tablolarla çalışma

    Macro 62: Bir pivot tabloyu geriye dönük uyumlu hale getirme
    Macro 63: Bir çalışma kitabındaki tüm pivot tabloları yenile
    Makro 64. Kitabın tüm pivot tablosunun bir "envanterini" oluşturma
    Makro 65: Aynı veri önbelleğini kullanarak tüm pivot tabloları oluşturun
    Makro 66. Pivot tabloda tüm ara toplamları gizle
    Makro 67. Özetin tüm alanlarının veri adlarını değiştirin
    Macro 68 - Tüm pivot verileri için kuvvet toplamı
    Makro 69: Sayı biçimini tüm veri öğelerine uygula
    Macro 70: Pivot alanları alfabetik olarak sırala
    Makro 71: Veri öğelerine özel sıralama uygula
    Makro 72: PivotTable'ı Koruyun
    Makro 73: Pivot Alan Kısıtlamalarını Uygula
    Makro 74. Özetin detaylandırılmasıyla sayfaların otomatik olarak silinmesi
    Makro 75: Her filtre öğesi için bir pivot tablo yazdırın
    Makro 76: Her filtre öğesi için yeni bir dosya oluşturun
    Makro 77. PivotTable için Veri Aralığı Hazırlama

    Çizelgeler ve grafiklerle çalışma

    Macro 78 - Çalışma sayfasındaki grafikleri yeniden boyutlandırma
    Makro 79. Grafiği belirli bir aralığa bağlama
    Macro 80: Bir dizi başıboş çizelge oluşturun
    Makro 81: Bir çalışma sayfasındaki tüm grafikleri yazdırın
    Makro 82. En iyi ve en kötü değeri işaretleme
    Macro 83 - Farklı grafiklerdeki değerler için aynı renkler
    Makro 84. Grafiklerin renginin aralıkların rengine karşılık gelmesi

    Excel'den e-posta gönderme

    Macro 85 - Etkin çalışma kitabını postayla gönder (ek)
    Macro 86 - Ek olarak bir dizi değer gönderme
    Makro 87: Tek bir sayfayı ek olarak gönderme
    Makro 88. Dosyalarımıza bağlantı içeren bir e-posta gönderin
    Makro 89: Kişi listemize adres ekleyerek postalama
    Makro 90: Tüm ekleri ayrı bir klasöre kaydedin
    Makro 91: Belirli ekleri bir klasöre kaydedin

    Diğer Office uygulamalarıyla etkileşim

    Macro 92 - Excel'den erişim sorgusu çalıştır



    Macro 96 - Access veritabanını Excel'den sıkıştır
    Macro 97: Excel verilerini bir Word belgesine gönderme
    Makro 98. Word Belgesi ile Birleştirme Yapma
    Macro 99: Excel verilerini bir PowerPoint sunumuna gönderme
    Makro 100. Excel Grafiklerini PowerPoint Sunumlarına Gönderme
    Macro 101: Çalışma Kitabını PowerPoint Sunumuna Dönüştürün

    Diğer Office uygulamalarıyla etkileşim
    Word, Access ve PowerPoint ile nasıl çalışılacağını öğrenin
    Macro 92 - Excel'den erişim sorgusu çalıştır
    Makro 93: Excel'den bir Access makrosu çalıştırın
    Makro 94: Excel'den bir Access raporu açma
    Macro 95 - Excel'den bir erişim formu açma

    Aşağıdaki basit Excel makro örnekleri, Excel VBA Öğreticisinde açıklanan bazı özellikleri ve teknikleri göstermektedir.

    Excel Makro Örneği 1

    Başlangıçta, bu prosedür Alt yorumların VBA kodunda kullanımına örnek olarak verilmiştir. Ancak burada değişkenlerin nasıl bildirildiğini, Excel hücre referanslarının nasıl çalıştığını, döngü kullanımını da görebilirsiniz. İçin, koşullu işleç Eğer ve bir mesaj kutusu görüntüleniyor.

    "Alt yordamı, etkin çalışma sayfasının A1:A100 hücre aralığında "verilen dizeyi içeren bir hücre arar. sonuç iRowNumber = 0 "Dize bulunana kadar A1:A100 hücrelerini tek tek arar sFindText For i = 1 To 100 If Cells(i, 1).Value = sFindText Ardından "Verilen dizeyle bir eşleşme bulunursa " iRowNumber = i için Exit For End If Next i "Aranan satırın bulunup bulunmadığını kullanıcıya bir açılır pencerede bildir" Verilen satır bulunursa, eşleşmenin hangi hücrede olduğunu belirtin bulundu iRowNumber = 0 ise MsgBox "Row" & sFindText & " not found" Aksi takdirde MsgBox "String " & sFindText & " A hücresinde bulundu" & iRowNumber End If End Sub

    Excel Makro Örneği 2

    sonraki prosedür Alt- bir döngü kullanma örneği Yaparken. Burada değişkenlerin nasıl bildirildiğini, Excel hücre başvurularıyla çalıştığını ve koşullu bir işleç uyguladığını da görebilirsiniz. Eğer.

    "Alt prosedür, 1000'i aşmayan Fibonacci sayıları verir. Alt Fibonacci() Dim i Tamsayı Olarak "Sayaç, dizideki öğe konumunu belirtmek için Dim iFib As Integer "Dim iFib_Next dizisinin geçerli değerini tamsayı olarak saklar "Dim iStep As Integer dizisinin sonraki değerini depolar " Bir sonraki artışın boyutunu saklar "i ve iFib_Next değişkenlerini başlat i = 1 iFib_Next = 0 "Do While döngüsü, "mevcut Fibonacci sayısı" değeri 1000'i geçene kadar yürütülür Do While iFib_Next< 1000 If i = 1 Then "Особый случай для первого элемента последовательности iStep = 1 iFib = 0 Else "Сохраняем размер следующего приращения перед тем, как перезаписать "текущее значение последовательности iStep = iFib iFib = iFib_Next End If "Выводим текущее число Фибоначчи в столбце A активного рабочего листа "в строке с индексом i Cells(i, 1).Value = iFib "Вычисляем следующее число Фибоначчи и увеличиваем индекс позиции элемента на 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

    Excel Makro Örneği 3

    Bu prosedür Alt bir sütunun hücrelerini tarar A boş bir hücreyle karşılaşana kadar etkin sayfa. Değerler bir diziye yazılır. Bu basit Excel makrosu, dinamik dizilerle nasıl çalışılacağını ve bir döngünün nasıl kullanılacağını gösterir. Şuna Kadar Yap. Bu örnekte, dizi ile herhangi bir işlem gerçekleştirmeyeceğiz, ancak gerçek programlama pratiğinde, veriler diziye yazıldıktan sonra, bu tür eylemler genellikle bunlar üzerinde gerçekleştirilir.

    "Sub prosedürü, aktif sayfanın A sütununun hücre değerlerini dizide saklar Sub GetCellValues() Dim iRow As Integer "Mevcut satırın numarasını Dim dCellValues() As Double olarak sakla "Hücre değerlerini depolamak için bir dizi ​​iRow = 1 ReDim dCellValues(1'den 10'a) "Etkin sayfanın A sütunundaki hücreler boyunca yinelenene kadar Döngü Yap "ve boş bir hücreyle karşılaşılıncaya kadar değerlerini bir diziye çıkarır Do Until IsEmpty(Hücreler(iRow, 1)) "dCellValues ​​​​dizisinin yeterli boyutta olduğunu kontrol edin" dizisi ReDim If UBound(dCellValues) ile 10< iRow Then ReDim Preserve dCellValues(1 To iRow + 9) End If "Сохраняем значение текущей ячейки в массиве dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop End Sub

    Excel Makro Örneği 4

    Bu örnekte, prosedür Alt bir sütundan değerleri okur Açalışma kağıdı Sayfa2 ve bunlar üzerinde aritmetik işlemler yapar. Sonuçlar sütunun hücrelerine girilir. A aktif çalışma sayfasında. Bu makro, Excel nesnelerinin kullanımını gösterir. Özellikle, prosedür kullanılır Alt nesneye sütunlar ve bu nesneye nesne aracılığıyla nasıl erişildiğini gösterir. Çalışma kağıdı. Aktif sayfadaki bir hücreye veya hücre aralığına atıfta bulunurken, bir bağlantı yazarken bu sayfanın adını belirtmenin gerekli olmadığı da gösterilmiştir.

    "Alt prosedür, Sayfa2 çalışma sayfasının A sütunundaki değerler arasında dolaşır, "her değer üzerinde aritmetik işlemler gerçekleştirir ve sonucu aktif çalışma sayfasının A sütununa yazar (Sayfa1) Alt Transfer_ColA() Dim i As Tamsayı Dim Col As Range Dim dVal As Double "Çalışma sayfası 2'nin Col sütun A değişkenine ata Set Col = Sheets("Sheet2").Columns("A") i = 1 "Bir döngü kullanarak Col sütununun hücre değerlerini okuyun. "boş bir hücreyle karşılaşıldığında Do Until IsEmpty(Col.Cells(i)) " Bulunduğunuz hücrenin değeri üzerinde aritmetik işlemler yapın dVal = Col.Cells(i).Value * 3 - 1 " Aşağıdaki komut sonucu şuraya yazar: aktif çalışma sayfasının A sütununa gerek yoktur, çünkü bu aktif yapraktır Cells(i, 1) = dVal i = i + 1 Loop End Sub

    Excel Makro Örneği 5

    Bu makro, bir Excel olayını dinleyen bir VBA kodu örneğini gösterir. Makronun bağlı olduğu olay, çalışma sayfasında her hücre veya hücre aralığı seçildiğinde gerçekleşir. Bizim durumumuzda, bir hücre seçerken B1, bir mesaj kutusu görüntülenecektir.

    "Bu kod, geçerli çalışma sayfasında B1 hücresi seçiliyse bir mesaj kutusu gösterir. 2 Ardından "B1 hücresi seçiliyse gerekli eylemi gerçekleştirin" MsgBox "B1 hücresini seçtiniz" End If End Sub

    Excel Makro Örneği 6

    Bu prosedürün bir örneği operatörlerin kullanımını gösterir. Hatada Ve Özet hata işleme için. Bu kod aynı zamanda bir dosyadan veri açma ve okuma örneğini de gösterir.

    "Sub yordamı, C:\Documents and Settings klasöründe bulunan Data.xlsx çalışma kitabından A1 ve B1 hücrelerinin değerlerini Val1 ve Val2 bağımsız değişkenlerine ayarlar. Hata Üzerine Çalışma Kitabı Olarak ErrorHandling'e Git" Verileri olan bir çalışma kitabı açın Set DataWorkbook = Workbooks.Open("C:\Documents and Settings\Data") "Verilen çalışma kitabından Val1 ve Val2 değişkenlerine değer atayın Val1 = Sayfalar("Sayfa1) ").Cells(1, 1) Val2 = Sheets("Sheet1").Cells(1, 2) DataWorkbook.Close Exit Sub ErrorHandling: "Dosya bulunamazsa, kullanıcıdan aranan dosyayı yerleştirmesi istenir " doğru klasöre girin ve MsgBox makrosu ile devam edin "Data.xlsx dosyası bulunamadı!" & _ "Lütfen çalışma kitabını C:\Documents and Settings konumuna ekleyin ve Tamam'ı tıklayın" Resume End Sub

    Excel elektronik tabloları, bilgileri depolamanın ve düzenlemenin en popüler yollarından biridir. Makroları Excel'de uygularsanız, programın yetenekleri neredeyse iki katına çıkarılabilir. Örneğin, makrolar rutin işlemleri otomatikleştirmeye ve monoton işleri hızlandırmaya yardımcı olur. Genellikle raporları 1C'den Excel'e çeviren uzmanlar tarafından kullanılırlar. Gömülü kodun yardımıyla bunları tek bir standart şablona getirmek kolaydır.

    Excel makroları nedir?

    Makrolar yalnızca elektronik tablolarda değil, Microsoft Office genelinde kullanılır. Visual Basic for Applications kullanılarak oluşturulan kodlardır. Web programlamaya kısmen aşina iseniz, Javascript ile bir analoji çizebilirsiniz. Excel makroları, Javascript'in HTML verileriyle yaptığı hemen hemen aynı şeyi yapar.

    Bir makronun ofis uygulamalarında yapabileceklerinin küçük bir kısmı:

    Belgeyi stile göre hizalayın ve biçimlendirin;
    . sayısal ve metinsel verilerle işlemler gerçekleştirmek;
    . harici dosyaların (metin, veritabanları ve diğerleri) yardımına başvurmak;
    . sıfırdan yeni belgeler oluşturun;
    . birkaç eylemi birleştirin ve bunları otomatik olarak gerçekleştirin.

    Tabloyla çalışmak için kendiniz oluşturabilir veya internetten hazır bir sürümünü indirebilirsiniz. Makroları yalnızca güvenilir sitelerden indirmeniz gerekir, aksi takdirde Excel'e virüs bulaştırabilirsiniz.

    Excel'deki makroların tehlikeleri nelerdir?

    PC'deki bozuk dosyalar;
    . gizli verileri çalmak.

    Virüsün girişi, ofis uygulamalarından birinin - Word veya Excel - çalışması sırasında gerçekleşir. Çalışmayı bıraktıktan sonra virüs, bunların içinde otonom olarak çalışmaya ve tüm sisteme bulaşmaya başlayacaktır.

    Kötü niyetli bir makronun çalışmasının başka bir yolu da, sisteme tehditler enjekte etmeye aracılık etmektir. Bu durumda, Trojan yazılımının tanıtılması ve üretilmesi için bir tür ağ geçididir. Artık değiştirilmiş bir makro tarafından değil, işletim sisteminin kendisi tarafından kontrol edilecek ve bu nedenle tehdit daha yaygın hale geliyor. Bu tür virüsleri iyileştirmek her zaman mümkün değildir, bazen Windows OC'yi veya PC sabit sürücüsünü tamamen değiştirmeniz gerekir (korsanın kodu yazarken belirlediği görevlere bağlı olarak).

    Bu tür makrolara karşı herhangi bir koruma yöntemi seçebilirsiniz. Excel'in güvenlik düzeyini artırmak en popüler olanıdır, ancak bu durumda program artık yazarınızın kullanışlı makrolarını desteklemeyebilir. Bilinmeyen kaynaklardan gelen dosyalara virüs bulaşmış olabileceğinden güvenmeyin. İş arkadaşınızın bilgisayarından alınan bir makro bile tehlikelerle dolu olabilir. Bir arkadaşınız size çalışmak için makro kullanımını destekleyen bir dosya verdiyse, sistemin onu kullanmasına izin vermeden önce, bu makroyu nasıl aldığını belirtin.

    En iyi seçenek, ihtiyaçlarınız için makro oluşturma sanatını kendi kendinize öğrenmektir. Bu durumda, kaliteleri ve güvenlikleri için tamamen kefil olabilirsiniz.

    Excel'de makrolar nasıl kaydedilir?

    Makro oluşturmanın en kolay yolu, doğrudan Excel'de programlamaktır. Bunu yapmak için, girilen verileri içeren bir tabloya ve bu kodun programa kaydedilmesini sağlamak için biraz bilgiye ihtiyacınız olacak.

    Oluşturma "Görünüm" menüsü ile başlar. İçinde "Makrolar" konumunu ve "Makro Kaydet" komutunu seçmeniz gerekir. Ardından, boşluksuz bir ad belirtmeniz gerekir, örneğin, "Biçim" (kod, metin veya hücrelerin biçimini değiştirmekten sorumlu olacaksa).

    Bundan sonra, tüm eylemleriniz otomatik olarak kaydedilecek ve makro koda dönüştürülecektir. Belgenin altında, üzerine tıklayarak kaydı durdurabileceğiniz küçük kareli bir düğme (“Durdur”) görünecektir. Böylece, örneklerini öğrenme sürecinde daha sonra analiz edebileceğiniz makroları otomatik olarak Excel'e kaydedebilirsiniz.

    Excel'de makrolar nasıl etkinleştirilir

    Kaydedilmiş bir makroyu diğer belgelere dahil etmek için tabloyu temizledikten sonra kaydetmeniz gerekir. Belge formatı XLTM olarak ayarlanmalıdır (makroları destekler).

    Belgeye bir sonraki erişiminizde, Excel'de makroları etkinleştirmek için önce açılır üst çubukta kullanımlarını etkinleştirmeniz gerekir. Ardından, makro tarafından düzenlenecek verileri normal bir CSV tablosundan içe aktarmanız gerekir. İçe aktarma işleminin sonunda tekrar "Görünüm" menüsüne gitmeli, orada "Makrolar" ı seçmeli ve listede yaptığınız kodun adını bulmalısınız. Sonunda, "Çalıştır" düğmesini tıklayın. Bundan sonra, programın daha önce belirttiğiniz algoritmaya göre nasıl hesaplamalar yaptığını ve belgeyi biçimlendirdiğini göreceksiniz.

    Bir makronun program kodunu nasıl görebilirim?

    Excel'de oluşturulan tüm makrolar, insan müdahalesi olmadan otomatik olarak yazılır. Program, menü kullanılarak çağrılarak tablodan açılabilen bir program kodunu bağımsız olarak derler.

    Bunu yapmak için, komutları sırayla uygulamanız gerekir:

    "Görünüm" sekmesini genişletin;
    . "Makroları" açın;
    . gerekli makronun adını seçin;
    . "Değiştir" düğmesini kullanarak koduyla birlikte bir pencere çağırın.

    Yeni iletişim kutusunda makroyu düzenleyebilir ve değiştirebilirsiniz. Orada programın otomatik olarak kaydettiği kodu göreceksiniz ve herhangi bir eylemi manuel olarak ekleyebilirsiniz. Bilgileri kaydettikten sonra, yeni verileri içe aktarırken makro farklı çalışacaktır.

    Bir hücre tıklamasında makro nasıl başlatılır

    A1 hücresi seçildiğinde makronun çalışmasını istediğinizi varsayalım. Excel'de seçilen hücrenin makroyu çalıştırabilmesi için program kodunu ilk modüle eklemeniz gerekir:

    Özel Alt Worksheet_SelectionChange(Aralık Olarak Hedefe Göre)
    Target.Address = "$A$1" ise: Module1'i çağırın
    son alt

    Excel eğitiminde makroları öğrenmenize yardımcı olmanın en iyi yolu. Böyle birden fazla örnek var ve tablonun tüm olanaklarını yeni tanıyanlar için, işlevselliğini tam olarak kullanmayı öğrenmenin en iyi yolu bu.

    Makrolarla çalışmayı nereden öğrenebilirim?

    Daha karmaşık makroların nasıl oluşturulacağını öğrenmenin birkaç yolu vardır. Mantık ve açıkça yapılandırılmış bir eylem dizisi bakımından farklılık göstermelidirler. Bu tür makrolar yalnızca VBA kodunun manuel olarak yazılmasıyla oluşturulur. Karmaşık makrolar oluşturmak için Visual Basic programlama dilinin inceliklerini öğrenmek için biraz zaman harcamanız gerekecek.

    Şimdi, Excel'in tüm olanaklarını incelemek için, son birkaç haftadır birçok özel kurs oluşturuldu, ancak bunlara katılmak için bir eğitim merkezine gitmeniz veya web seminerlerine katılmanız gerekecek (bu, zaman farkından dolayı her zaman uygun değildir). Ancak Excel'de makro oluşturmayı öğrenmenin daha etkili ve kolay bir yolu, örnekler içeren bir eğitimdir. İstediğiniz zaman pratik yapabilirsiniz ve adım adım öğreticiler, en basit kodlardan en karmaşık kodlara kadar farklı seçenekler geliştirmenize yardımcı olacaktır. Microsoft Excel, birçok karmaşık görevi çözebileceğiniz evrensel bir elektronik tablo düzenleyicisidir.

    örnekler

    Çeşitli görevleri otomatikleştirmenize izin veren kodlar vardır. Örnek olarak, satır ekleme makrosunu ele alalım. Şuna benziyor:

    Alt Makro1()

    Programlamada güçlü değilseniz, ancak aynı zamanda bazılarını uygulamanız gerekir.MS Excel'in standart işlevlerinin ve komutlarının ötesine geçen bir görev için internette bir çözüm arayabilirsiniz. Çözümü büyük olasılıkla çalışma kitabınıza kopyalayıp yapıştırmanız gereken VBA kodu şeklinde, sonra bir şekilde bu kodun işinize yaramasını sağlayın, bu yazıda size nasıl yapacağınızı anlatacağım.

    İki örnek düşünün:

    1. Takım aramak ve kullanmak

    Örneğin, seçilen hücrelere "1" sayısını ekleyecek bir komuta ihtiyacımız var. Arama motorunu başlatıyoruz, arama ifadesini yazıyoruz, sonuçları alıyoruz, göz atmaya başlıyoruz, kodu şuna benzer bir şekilde buluyoruz:

    Alt Ekle1() Dim q Nesne Olarak Hatada Sonraki Kümeyi Sürdür q = Seçimdeki Her q İçin Hücreler q = 1 Sonraki q Son Alt

    Bu kodu seçin (satır numarası olmadan, kelime ile başlayarak Alt) ve bas ctrl+c. MS Excel çalışma kitabınıza gidin ve klavye kısayoluna basın alt+F11, açık bir VBA düzenleyici pencereniz olacak:

    "Project - VBA Project" sol penceresinde, örneğin "VBAProject (Book2)" gibi bir makro eklemek istediğiniz çalışma kitabımızı seçin (tıklayın):

    "Ekle" menü öğesinde "Modül"ü seçin:

    "Project - VBA Project" sol penceresinde yeni bir "Modüller" klasörü ve içinde yeni bir "Module1" nesnesi olmalıdır:

    İmleci sağdaki "Büyük" giriş alanına getirin ve tuşuna basın. ctrl+v, kopyalanan makro modüle yapıştırılır:

    MS Excel'deki makrolar aşağıdaki yerlere eklenebilir:

    • Modülde, genellikle kullanıcı tarafından bir düğmeye basılarak başlatılacak olan makro kodunu (örneğin, bizim durumumuzda olduğu gibi) veya işlev kodunu (formüller) eklerler;
    • Çalışma Sayfasına genellikle, kullanıcının eylemlerine veya sayfadaki verilerdeki değişikliklere (veriler değişti, makro yürütüldü) bağlı olarak başlatılması otomatik olarak gerçekleşmesi gereken makroların kodunu eklerler;
    • Çalışma Kitabına genellikle, kitapta (dosya) gerçekleştirilen eylemlere bağlı olarak başlatılması otomatik olarak gerçekleşmesi gereken makroların kodunu eklerler. Örneğin, bir çalışma kitabı açıldığında veya kapatıldığında veya kaydedildiğinde çalışan bir makro;
    • Makrolar ayrıca bir kullanıcı formunun parçası olabilir.

    Genellikle, kodu yayınlayan kişi, kodun bir modüle, bir sayfaya veya bir çalışma kitabına eklenmesi gerektiğini belirtir.

    Bir çalışma sayfasına kod eklemek için, VBA editörünün sol penceresinde ilgili sayfayı seçin, sol fare tuşuyla üzerine çift tıklayın, imleci sağ giriş alanına getirin ve kodu yapıştırın.

    Bir Kitaba kod eklemek için "Bu Kitap"ı seçin:


    Hadi pratik yapalım. Aşağıdaki kodu "Sayfa1" e yapıştırın.

    Özel Alt Worksheet_Change(ByVal Target As Range) Hatada GoTo a If Target = 2 Sonra VBA.MsgBox("Cell " & Target.Address & " = 2") End If a: Exit Sub End Sub

    Sayfanın herhangi bir hücresine "2" girerseniz, bu makro bir bilgi mesajı görüntüler.

    Çalışma kitabına dönün, "Sayfa1"e gidin ve "A1" hücresine "2" sayısını girin ve tuşuna basın. Girmek, ardından aşağıdaki mesajı görmelisiniz:

    Bu mesajı görürseniz, her şeyi doğru yaptınız demektir. Değilse, kodu yanlış yere yapıştırdınız, tekrar deneyin.

    Kodu yapıştırırken nereye yapıştırdığınıza dikkat etmelisiniz. Bu, VBA editör penceresinin başlığında yazılanlara bakılarak yapılabilir:

    2. Bir işlev aramak ve kullanmak

    İnternette, örneğin bir hücredeki sözcük sayısını sayan bir işlevin VBA kodunu buluyoruz:

    Genel İşlev CountWordsInCell(Cell As Range) Dim q As Variant Application.Volatile q = VBA.Split(Application.WorksheetFunction.Trim(Cell.Value), " ") CountWordsInCell = UBound(q) + 1 End Function

    Kodu kopyalayın, klavye kısayoluna basın alt+F11, VBA editörü açılır:


    Kitabımıza yeni bir modül ekliyoruz ve kopyaladığımız kodu bu modüle yapıştırıyoruz:


    VBA düzenleyicisini kapatın ve çalışma kitabınıza gidin. Hücrede yeni bir sayfa (isteğe bağlı) oluşturun A1"anne çerçeveyi yıkadı" metnini girin. Sonucu (kelime sayısı) almak istediğimiz hücrede duruyoruz, "Formüller" menüsünde "İşlev Ekle" düğmesini tıklayın:

    Açılan "Fonksiyon ekle" penceresinde "Kategori" alanında "Kullanıcı tanımlı"yı seçin

    Kullanılabilir işlevler listesinde "Hücredeki sözcük sayısı"nı seçin, "Tamam"a tıklayın:

    Gerekli bağımsız değişkenleri girin ve "Tamam"a tıklayın:

    Sonucu elde ederiz:

    Önemli:

    Makroyu eklediğiniz çalışma kitabını "Makro özellikli çalışma kitabı" olarak kaydetmezseniz, makro içeren tüm modüller silinecek ve tüm bu çalışmaları daha sonra yeniden yapmanız gerekecektir.

    Bir modüle makro eklerken bazı metinler yerine kırmızı işaretler görüyorsanız " ???????? "

    Bu, bazı tarayıcılardan Kiril metni kopyalarken gözlemlenen bir kodlama sorununuz olduğu anlamına gelir. Bu sorunun üstesinden gelmek için, kopyalanan kodu boş bir MS Excel sayfasına "Unicode Metin" olarak yapıştırmayı deneyin. Bunu yapmak için MS Excel çalışma kitabına gidin, boş bir sayfa seçin veya oluşturun, "A1" hücresinde durun ve klavye kısayollarına basın Ctrl+Alt+V. "Özel Yapıştır" menüsü görünmelidir, "Unicode Metin"i seçin ve "Tamam"a tıklayın.

    Kodun çalışma sayfasına soru işaretleri olmadan yapıştırılması gerekir:

    Bundan sonra, sayfaya yapıştırılan kodu bir kez daha kopyalayın ve modüle yapıştırın.

    VBA editöründe "Project - VBA Project" penceresini görmüyorsanız, "View" menü sekmesine gidin ve listeden "Project Explorer" öğesini seçin veya klavye kısayoluna basın ctrl+r:

    VBA ve makrolar hakkında hiçbir şey bilmeseniz bile, bu bölümdeki bazı püf noktalarını okuduktan sonra onları daha iyi tanımak isteyeceksiniz. Makrolara yeni başlıyorsanız, burada bazı yararlı bilgiler bulabilirsiniz.

    . .

    Ö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, bunu verilerle dolduran ve sonra kaydeden bir makro yazdınız. Excel'in […]

    . .

    Microsoft Outlook'u yönetmek ve e-postaları doğrudan elektronik tablonuzdan göndermek veya not defteri girişlerinizi kopyalamak için bu teknolojiyi kullanabilirsiniz. Elbette Excel'in doğası gereği tablo e-posta ile gönderilecek şekildedir, ancak bu yöntem tablonun yalnızca bir bölümünü göndermenize izin verir. Bu kodun çalışması için, sahip olmanız gerekir […]

    . .

    Bu yöntem, örneğin, Excel elektronik tablolarından alınan 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ı. Rapor […]

    . .

    Makrolar genellikle uygulamaları otomatikleştirmek için kullanılır. Herhangi bir makro, belirli bir ad altında kaydedilen bir dizi eylemdir. 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 […]