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 […]