Vba Temel Operatörler - Koşullu Operatörler

  • 29.08.2019

Başlangıç ​​olarak, örnek olarak basit bir VBA Sub prosedürünü ele alalım. Bir VBA modülünde saklanır ve ilk 100 pozitif tamsayının toplamını hesaplar. Hesaplamaların sonunda prosedür, sonucu içeren bir mesaj görüntüler.

Alt VBA_Demo ()
"Basit bir VBA prosedürü örneği
Dim Toplam Kadar Uzun, Ben Kadar Uzun
Toplam = 0
i = 1 ila 100 için
Toplam = Toplam + ben
sonraki ben
Mesaj Kutusu Toplamı
Alt Bitiş

biçiminde bir not indirin veya

Bu prosedürde bazı popüler dil öğeleri kullanılır:

  • yorum (kesme işaretiyle başlayan satır);
  • değişken bildirim ifadesi (Dim anahtar sözcüğüyle başlayan satır);
  • iki değişken (Toplam ve i);
  • iki atama operatörü (Toplam = 0 ve Toplam = Toplam + i);
  • döngüsel yapı (For – Next);
  • VBA işlevi (MsgBox).

Yorumlar (1)

Yorum için yeni bir satır kullanabilir veya aynı satırdaki ifadeden sonra yorum ekleyebilirsiniz.

Bazı durumlarda, bir talimat veya hatta bir dizi talimat eklemeden bir prosedürü test etmeniz gerekir. İlgili ifadeyi silmek yerine satır başına kesme işareti ekleyerek yoruma dönüştürmek yeterlidir. Bundan sonra, VBA, prosedürü yürütürken ifadeyi (veya ifadeleri) yok sayar. Bir yorumu ifadeye dönüştürmek için kesme işaretini kaldırmanız yeterlidir.

Değişkenler, veri türleri ve sabitler

Değişken bilgisayar belleğinde adlandırılmış bir depolama konumudur. Değişkenler farklı türde veriler içerebilir. Adlarda harfler, sayılar ve bazı noktalama işaretleri kullanabilirsiniz, ancak değişken adındaki ilk harf her zaman girilmelidir. VBA, değişken adlarında büyük/küçük harfe duyarlı değildir. İsimlerde boşluk veya nokta kullanamazsınız, ancak kelimeleri alt çizgi ile ayırabilirsiniz.

VBA, değişken veya prosedür adları olarak kullanılamayan birçok ayrılmış sözcük kullanır.

VBA yorumlayıcı, herhangi bir veri türünü otomatik olarak işleyerek programcılar için hayatı kolaylaştırır. Bununla birlikte, bu olumsuz sonuçlarla doludur - işlemlerin yavaş yürütülmesi ve belleğin daha az verimli kullanılması. Sonuç olarak, VBA'nın veri türlerini kendi başına tanımlamasına izin vererek, büyük veya karmaşık uygulamaları çalıştırırken sorunlarla karşılaşabilirsiniz.

Değerleri depolamak için minimum bayt sayısını kullanan veri türünü seçmeniz önerilir. Excel, çalışma sayfalarında matematiksel hesaplamalar yapmak için Double veri türünü kullanır. Hesaplamalarda aynı hassasiyeti sağlamak için VBA'daki sayıları işleme sürecinde kullanılması önerilir.

Üç tür değişken kapsam vardır:

Sabitlerle çalışma

Bazen adlandırılmış bir değer veya asla değişmeyen bir dize - bir sabit - kullanmanız gerekir. Prosedürünüz faiz oranı gibi belirli bir değeri birden çok kez referans alıyorsa, bu değeri bir sabit olarak bildirmeli ve ifadelerinizde değeri değil sabitin adını kullanmalısınız. Bu teknik sadece programı daha okunaklı kılmakla kalmaz, aynı zamanda kodu daha sonra değiştirmeyi de kolaylaştırır - birkaç değil, yalnızca bir talimatı değiştirmek yeterlidir.

Const operatörü, sabitleri bildirmek için kullanılır. Örneğin,

Tamsayı = 4 olarak Const NumQuarters

Değişkenler gibi sabitlerin de bir kapsamı vardır. VBA kodunda bir sabitin değerini değiştirmeye çalışırsanız, bir hata mesajı alırsınız (ki bu beklenir). Sabit, değişken değil, sabit bir değerdir. Excel ve VBA'da bildirim olmadan kullanabileceğiniz bir dizi önceden tanımlanmış sabit vardır. Bunları uygulamak için bu sabitlerin anlamını bilmenize bile gerek yok. Makroları kaydederken, değerleri değil, sabitleri kullanmak yaygındır. Aşağıdaki prosedür, etkin sayfanın sayfa yönünü yatay olarak değiştirmek için yerleşik bir sabit kullanır:

Alt SetToLandscape ()
ActiveSheet.PageSetup.Orientation = xlLandscape
Alt Bitiş

xlLandscape'in gerçek değeri 2'dir. Nesne Tarayıcı, tüm Excel ve VBA sabitlerinin bir listesini içerir. VBE'de Nesne Tarayıcıyı açmak için tuşuna basın .

VBA'da tarih ve saat, # işareti arasına alınmış değerler olarak tanımlanır.

Sabit İlk Gün Tarihi = # 1/1/2007 #
Sabit Öğlen = # 12:00:00 #

Sistem verileri farklı bir biçimde görüntülemek üzere yapılandırılmış olsa bile tarihler her zaman ay/gün/yıl biçiminde belirtilir.

atama operatörleri

Atama operatörü, matematiksel bir hesaplama gerçekleştiren ve sonucu bir değişkene veya nesneye atayan bir VBA ifadesidir. Excel Yardımı'nda bir ifade, anahtar sözcüklerin, işleçlerin, değişkenlerin ve sabitlerin bir birleşimi olarak tanımlanır. Bu kombinasyon, sonuç olarak bir dize, sayı veya nesne döndürür. Bir ifade hesaplama yapabilir, karakterleri işleyebilir veya verileri test edebilir.

VBA'da gerçekleştirilen çok sayıda işlem, ifade geliştirme (ve hata ayıklama) ile ilişkilidir. Excel'de formül oluşturmayı biliyorsanız, VBA'da ifade oluşturmada sorun yaşamayacaksınız. Excel çalışma sayfası formülünde sonuç bir hücrede görüntülenir. Alternatif olarak, bir VBA ifadesi bir değişkene bir değer atayabilir veya bir özellik değeri olarak kullanılabilir. VBA'da atama operatörü eşittir işaretidir (=).

diziler

Dizi, ortak bir ada sahip aynı türdeki öğeler grubudur; dizinin belirli bir öğesine dizi adı ve dizini kullanılarak başvurulur. Örneğin, 12 satırlık bir dizi tanımlayabilirsiniz, böylece her değişken ayın adına karşılık gelir. Diziyi AyAdıları olarak adlandırırsanız, dizinin ilk elemanına AyAdı (0), ikincisine AyAdı (1) ve bu şekilde AyAdı (11) olarak başvurabilirsiniz.

Tam olarak 100 tamsayı içeren bir diziyi aşağıdaki gibi bildirebilirsiniz:

Dim MyArray (1 ila 100) Tamsayı Olarak

Varsayılan olarak, VBA dizileri ilk öğe olarak sıfır kullanır. Birinin tüm dizilerin ilk dizini olarak kullanılmasını istiyorsanız, ilk modül prosedüründen önce aşağıdaki bildirimi yapmanız gerekir: Option Base 1

Dinamik bir dizinin önceden tanımlanmış sayıda öğesi yoktur. Parantez içinde boş değerlerle bildirilir: Dim MyArray () As Integer. Ancak, bir programda dinamik bir dizi kullanılmadan önce, VBA'ya dizide kaç öğe olduğunu söylemek için bir ReDim ifadesi kullanılmalıdır. Bunun için, genellikle yürütme için prosedür başlatılana kadar değeri bilinmeyen bir değişken kullanılır. Örneğin, x'e bir sayı atanmışsa, dizinin boyutu şu operatör kullanılarak belirlenir: ReDim MyArray (1 - x).

nesne değişkenleri

nesne değişkeni aralık veya çalışma sayfası gibi bir nesnenin tamamını temsil eden bir değişkendir: Dim InputArea As Range. Bir değişkene bir nesne atamak için Set anahtar sözcüğünü kullanın: Set InputArea = Range ("C16: E16").

Yerleşik işlevler

VBA, hesaplamaları ve işlemleri basitleştiren bir dizi yerleşik işleve sahiptir. Örneğin, bir dizeyi büyük harfe dönüştüren VBA işlevi UCase, Excel'in BÜYÜK HARF işlevine eşdeğerdir. Bir VBA deyiminde bir Excel işlevi kullanmak için, işlev adından önce aşağıdaki ifadeyi girin:

Uygulama.Çalışma SayfasıFonksiyonu

VBA'nın eşdeğer işlevler sağladığı Excel işlevlerini kullanamayacağınızı anlamak önemlidir. Örneğin, VBA bu işlevin kendi sürümüne sahip olduğundan, VBA Excel işlevi KÖK (SQRT) erişimine izin vermez: Sqr. Bu nedenle, aşağıdaki ifade bir hata verir:

MsgBox Application.WorksheetFunction.Sqrt (123)

MsgBox işlevi, VBA'daki en kullanışlı işlevlerden biridir. Ayrıca, programı duraklatmak ve bir hesaplamanın veya atamanın sonucunu görüntülemek için istediğiniz zaman bir MsgBox işlevi ekleyebildiğiniz için mükemmel bir hata ayıklama aracıdır. MsgBox işlevi yalnızca bir değer döndürmekle kalmaz, aynı zamanda kullanıcının belirli eylemleri gerçekleştirebileceği bir iletişim kutusu da görüntüler. MsgBox işlevi tarafından döndürülen değer, kullanıcının görüntülenen sorguya verdiği yanıttır. MsgBox işlevi, kullanıcının yanıtı gerekmediğinde bile kullanılabilir, ancak bir mesajın görüntülenmesi gerekir. MsgBox işlevinin sözdizimi şöyledir:

MsgBox (mesaj [, düğmeler] [, başlık] [, help_file, bağlam])

  • Mesaj (Gerekli) - İletişim kutusunda görüntülenen mesaj.
  • Düğmeler (isteğe bağlı), mesaj kutusunda hangi düğmelerin ve simgelerin (varsa) görüntüleneceğini belirleyen bir değerdir. Yerleşik sabitleri kullanın (örneğin, vbYesNo).
  • Başlık (isteğe bağlı), mesaj kutusunun başlık çubuğunda görünen metindir. Microsoft Excel metni varsayılan olarak görüntülenir.
  • Help_file (isteğe bağlı) - mesaj kutusuna karşılık gelen yardım dosyasının adı.
  • Bağlam (isteğe bağlı) - Yardım konusunun bağlam tanımlayıcısı. Görüntülenecek belirli bir Yardım konusunu temsil eder. Argüman bağlamı kullanılıyorsa, yardım dosyası argümanını da kullanmanız gerekir.

Elde edilen değeri bir değişkene atayabilir veya işlevi atama operatörü olmadan kullanabilirsiniz. Aşağıdaki örnekte, sonuç Ans değişkenine atanmıştır.

Ans = MsgBox ("Devam mı?", VbYesNo + vbQuestion, "Rapor")
Eğer Ans = vbNo ise Sub'dan Çıkın

Düğme bağımsız değişken değeri olarak iki yerleşik sabitin (vbYesNo + vbQuestion) toplamının kullanıldığını unutmayın. vbYesNo sabiti, mesaj kutusunda biri Evet ve diğeri Hayır olarak etiketlenmiş iki düğme görüntüler. Argümana vbQuestion eklemek, soru simgesini de görüntüler. İlk ifade yürütülür yürütülmez Ans değişkeni, vbYes ve vbNo sabitleriyle temsil edilen iki değerden birini alacaktır. Bu örnekte, No. düğmesine tıklandıktan sonra prosedürden çıkılmaktadır.

Nesne ve koleksiyon yönetimi

VBA, nesnelerin ve koleksiyonların yönetimini basitleştirmenize yardımcı olacak iki yapı sunar. With - End With yapısı, tek bir nesne üzerinde birden çok işlem gerçekleştirmenize olanak tanır. Nasıl çalıştığını anlamak için, seçilen bir nesnenin altı özelliğini değiştiren (bir Aralık seçili olduğu varsayılarak) aşağıdaki prosedürü göz önünde bulundurun.

Alt ChangeFontl ()
Selection.Font.Name = "Kambriya"
Selection.Font.Bold = True Selection.Font.Italic = True
Selection.Font.Size = 12
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ThemeColor = xlThemeColorAccentl
Alt Bitiş

Bu prosedür With - End With yapısı ile yeniden yazılabilir. Aşağıda gösterilen prosedür, bir öncekiyle tamamen aynı şekilde çalışır.

Alt ChangeFont2 ()
Selection.Font ile
.Ad = "Kambriya"
.Kalın = Doğru
.İtalik = Doğru
.Boyut = 12
.Underline = xlUnderlineStyleSingle
.ThemeColor = xlThemeColorAccentl
İle bitmek
Alt Bitiş

Bir koleksiyondaki tüm nesneler üzerinde bir eylem gerçekleştirmeye karar verdiğinizi veya bir koleksiyondaki tüm nesneleri değerlendirmeniz ve belirli koşullar karşılandığında bir eylem gerçekleştirmeniz gerektiğini varsayalım. Bu, For Her - Sonraki yapısını kullanmak için ideal bir durumdur. Yapı sözdizimi:

Her biri için elemanİçinde Toplamak
[Talimatlar]
[Talimatlar]
Sonraki [ eleman]

Örneğin:

Alt Sayı Sayfaları ()
Öğeyi Çalışma Sayfası Olarak Karart
ActiveWorkbook.Worksheets'teki Her Öğe İçin
MsgBox Öğe.Adı
Sıradaki eşya
Alt Bitiş

Aşağıdaki örnek, etkin pencere dışındaki tüm pencereleri kapatır:

Alt Closelnaktif ()
Kitabı Çalışma Kitabı Olarak Karart
Çalışma Kitaplarındaki Her Kitap İçin
Eğer Kitap.Adı<>ActiveWorkbook.Name Sonra Book.Close
Sıradaki kitap
Alt Bitiş

Kod yürütme üzerinde kontrol

Bazı VBA rutinleri, kodun ilk satırlarıyla başlar. Ancak bazen, bireysel ifadeleri atlayarak, bazı komutları yeniden yürüterek ve prosedür tarafından gerçekleştirilen bir sonraki eylemi belirlemek için koşulları kontrol ederek işlem sırasını kontrol etmek gerekir.

GoTo ifadesi, program akışını özel bir şekilde işaretlenmiş yeni bir talimata yönlendirir (iki nokta üst üste ile biten bir metin dizesi veya ifadeden önce bir boşlukla biten bir sayı). Aşağıdaki prosedür, kullanıcı adını almak için VBA InputBox işlevini kullanır. Kullanıcı adı Howard'dan farklıysa prosedür, çalışmayı sonlandıran WrongName etiketine gider. Aksi takdirde, prosedür ek işlemler gerçekleştirir. Exit Sub deyimi, prosedürün yürütülmesini sonlandırır.

GoToDemo'ya Alt ()
KullanıcıAdı = InputBox ("Adınızı girin:")
KullanıcıAdı ise<>Howard Sonra Yanlış Ad'a Git
MsgBox ("Merhaba Howard...")
"- [Ek kodu buraya girin] -
Alt Çıkış
Yanlış isim:
MsgBox "Üzgünüz, bu prosedürü yalnızca Howard çalıştırabilir."
Alt Bitiş

Gerçekte, GoTo ifadesi yalnızca hataları yakalamak için gereklidir (yukarıdaki kod kötü bir örnektir ve kullanılmamalıdır).

If-Then yapısı muhtemelen VBA deyimlerini gruplamak için en yaygın kullanılanıdır:

Eğer şart Sonra Talimatlar_true

Örneğin

Alt GreetMe ()
Eğer Zaman< 0.5 Then
MsgBox "Günaydın"
Kendi Zamanı> = 0,5 Ve Zaman< 0.75 Then
MsgBox "İyi günler"
Başka
MsgBox "İyi akşamlar"
Bitir
Alt Bitiş

VBA, Excel'de kullanılana benzer bir tarih ve saat sistemi kullanır. Günün saati kesirli bir sayı olarak ifade edilir, örneğin öğlen 0,5 olarak temsil edilir. 0.75 değeri, 18:00 - günün dörtte üçünü ve günün akşama dönüştüğü anı temsil eder. İç içe If-Then yapıları oldukça hantaldır. Bu nedenle, bunları yalnızca basit ikili kararlar almak için kullanmanız önerilir. Üç veya daha fazla seçenek arasından seçim yapmanız gerekiyorsa, Select Case tasarımına dönmeniz önerilir.

Aşağıdaki prosedür, geçerli günün Cumartesi mi Pazar mı olduğunu belirlemek için VBA WeekDay işlevini kullanır (Hafta içi 1 veya 7 döndürür). Ardından ilgili bir mesaj görüntülenir.

Alt GreetUserlO
Vaka Seç Hafta içi (Şimdi)
Durum 1, 7
MsgBox "Hafta sonu geldi"
diğer durum
MsgBox "Bu hafta sonu değil"
Seçimi Bitir
Alt Bitiş

VBA yorumlayıcısı, bir True koşulu bulunur bulunmaz Select Case yapısından çıkar. Bu nedenle, maksimum verimlilik için, önce en olası durum kontrol edilmelidir.

Çevrim bir dizi talimatı tekrarlama işlemidir. Belki de döngünün kaç kez tekrarlanması gerektiğini önceden biliyorsunuzdur ya da bu değer programdaki değişkenler tarafından belirlenmektedir. İyi bir döngünün en basit örneği For-Next'tir:

İçin tezgah = Başlangıç o son
[Talimatlar]
[Talimatlar]
Sonraki [ tezgah]

Aşağıdaki prosedür, ilk 100 tamsayının kareköklerini toplar:

Alt SumSquareRoots ()
Dim toplamı çift olarak
Tamsayı Olarak Dim Sayısı
Toplam = 0
Sayım için = 1'den 100'e
Toplam = Toplam + Sqr (Sayı)
Sonraki Sayı
MsgBox Toplamı
Alt Bitiş

For-Next döngüsündeki Step değişkeni negatif olabilir. Aşağıdaki prosedür, etkin sayfada 2, 4, 6, 8 ve 10. satırları siler:

Alt Silme Satırları ()
RowNum As Long Dim
RowNum = 10 ila 2 Adım -2 için
Satırlar (RowNum) .Delete
Sonraki SatırNum
Alt Bitiş

For-Next döngüleri ayrıca bir veya daha fazla Exit For ifadesi içerebilir. Program bu operatörle karşılaştığında, hemen döngüden çıkar:

Alt ExitForDemo ()
Dim MaxVal Çift Olarak
Satırı uzun süre karart
MaxVal = Application.WorksheetFunction.Max (Aralık ("A: A"))
Satır için = 1 ila 1048576
Eğer Hücreler (Satır, 1) .Value = MaxVal O zaman
Çıkış İçin
Bitir
Sonraki Satır
MsgBox "Bir satırdaki maksimum değer" & Satır
Hücreler (Satır, 1) .Activate
Alt Bitiş

Bir sütundaki maksimum değer, Excel MAX işlevi kullanılarak hesaplanır. Bu değer daha sonra MaxVal değişkenine atanır. For-Next döngüsü, sütundaki her hücreyi kontrol eder. Belirtilen hücre MaxVal'e eşitse, Exit For deyimi yordamı sonlandırır. Ancak döngüden çıkmadan önce prosedür, kullanıcıya istenen hücrenin yeri hakkında bilgi verir ve onu etkinleştirir.

Do while döngüsü, belirtilen koşul karşılandığı sürece çalışır. Do while Döngüsü aşağıdaki iki sözdiziminden birine sahip olabilir.

Yapmak
[Talimatlar]
[Talimatlar]
Döngü

Yapmak
[Talimatlar]
[Talimatlar]
Döngü

EnterDates1 prosedürü, etkin hücreden başlayarak, geçerli ayın tarihlerini çalışma sayfasının bir sütununa girer:

Alt EnterDatesl ()
"Do while döngüsü, başlangıçta koşul kontrol edilir
Dim TheDate As Date
TheDate = DateSerial (Yıl (Tarih), Ay (Tarih), 1)
Ay (TheDate) = Ay (Tarih) Yaparken Yap
ActiveCell = Tarih
Tarih = Tarih + 1
ActiveCell.Offset (1, 0) .Etkinleştir
Döngü
Alt Bitiş

Bu prosedür, çalışma sayfasında kaydedilen tarihleri ​​saklayan TheDate değişkenini kullanır. Değişkeni başlatmak için geçerli ayın ilk günü kullanılır. Döngünün yürütülmesi sırasında aktif hücreye TheDate değişkeninin değeri girilmiş, daha sonra bu değer bir artırılarak sonraki hücre aktif hale getirilmiştir. Döngü, TheDate değişkenine atanan ay değeri, geçerli tarihin ay değeriyle eşleşene kadar çalışır.

Do while Döngüleri ayrıca bir veya daha fazla Exit Do ifadesi içerebilir. Exit Do deyimine ulaşıldığında döngü sona erer ve kontrol, Loop deyimini takip eden deyime aktarılır.

Do Kadar Döngü yapısının Do while döngüsüyle pek çok ortak noktası vardır. Tek fark, döngü koşulunun nasıl kontrol edildiğidir. Do While'da döngü, koşul karşılandığı sürece çalışır. Bir Bitiş Süresi döngüsünde, koşul karşılanana kadar döngü çalışır. Bitene Kadar Yapısı, iki tür sözdizimi ile de temsil edilebilir.

Kitabın materyallerine dayanarak. - M: Diyalektik, 2013. - S. 211–251.


Kitap: Excel'de makro kullanma.

Sayfalar: 507

Biçim: DJVU
Boyut: 8,02 Mb

Excel kullanıcı arabiriminin sağladığı güçlü işlevselliğe rağmen, yalnızca programlı olarak yapılabilecek bir dizi görev vardır. "Excel'de Makroları Kullanma" kitabı, Excel'de çalışırken ortaya çıkan çeşitli pratik sorunların nasıl çözüleceğine dair örnekler içeren Excel VBA programlamaya giriş niteliğindedir.Kitabın materyali, Excel kullanıcıları ve Excel nesne modeline aşina olmayan programcılar için tasarlanmıştır. Excel 2002 için makro geliştirme konularının yanı sıra Excel'de makro ve program yazmaya giriş niteliğinde bir ders sunmaktadır.

Kitap: Hafta Sonu Yoğun Excel Programlama Kursu

Yayımcı: diyalektik
Sayfalar: 421
Biçim: DJVU
Boyut: 12,6 Mb
Kalite: Normal
Dilim: Rusça
Tür: programlama
Yayın yılı: 2004
ISBN: 5-8459-0687-3

Microsoft Excel'in yetenekleri, veri tablolarıyla çalışmakla sınırlı değildir. Elektronik tablo araçlarının arkasında güçlü bir programlama dili vardır - VBA (Uygulamalar için Visual Basic). Bununla birlikte, hemen hemen her kullanıcı, Excel'deki en çeşitli görevleri çözmek için VBA'da nasıl program yazılacağını öğrenme fırsatına sahiptir - hesaplamaların mekanik olarak yürütülmesinden, kendi ekran formlarıyla veri girişi için bir sistem oluşturmaya ve doğruluğu gözden geçirme olasılığına kadar yazılan değerlerden.

Kitap: VBA Programlama 2002

Kalite: Normal
Dilim: Rusça
Tür: programlama

Kitap, Microsoft Office uygulamalarında (Word, Excel, Access, PowerPoint, FrontPage, Visio, vb.) temel dil olan Visual Basic for Applications (VBA) ile programlama üzerine bir kurs içermektedir. Kitap, Windows ortamında Word-, Excel-, PowerPoint-nesnelerini kullanarak programlamaya yeni başlayanlar için tasarlanmıştır.Kitabın bir kısmı, hem ayrı dosyalarda hem de uzak sunucularda depolanan veritabanlarını kullanan Office uygulamalarının geliştirilmesine ayrılmıştır.Kitabın materyali, Visual Basic dilinin temellerini öğrenmek ve belgeler, elektronik tablolar, çizelgeler, sunumlar vb. ile rutin tekrarlayan çalışmayı otomatikleştirmeye yardımcı olan basit makrolar oluşturmak ve ayrıca diyalog kullanarak oldukça karmaşık veritabanı uygulamaları geliştirmek için yeterlidir. kullanıcıya en modern arayüz araçlarını sağlayan kutular.Kitaptaki örneklerin çoğu, ticari faaliyetin güncel konularına ayrılmıştır, bu nedenle kitap, görünüşe göre hem Microsoft Office hem de yerleşik programlama dili VBA için tasarlanmış çeşitli seviyelerdeki yöneticiler için çok yararlı olacaktır.
Kitabın sonundaki ekler, hem VBA hem de normal VB ile çalışırken kullanışlı bir referans işlevi görebilir.

Kitap: Excel 2003'te Profesyonel VBA Programlama
John Walkenbach
Yayımcı: Williams
Biçim: PDF
Boyut: 11 Mb
Kalite: Harika
Dilim: Rusça
Yayın yılı: 2005
ISBN: 5-8459-0771-3
Kitap bir disk ile birlikte gelir

Excel'de birçok kitap yazıldı. Ancak bu kitap özeldir - geniş bir bağlamda elektronik tablo uygulaması geliştirmeyi gerektirir. VBA, oldukça gerekli olmakla birlikte, özel uygulama geliştirme ortamının yalnızca bir bileşenidir. Bu kitap, VBA ile uygulama geliştirmenin inceliklerini anlamanıza yardımcı olacaktır. VBA dilinin birçok özelliğini, yeteneklerini ve kullanım ortamını açıklar.Önce, programın yeteneklerine genel bir bakış sunulacak, ardından VBA programlama kavramlarını tanımlamaya geçeceksiniz ve ardından tanışacaksınız. dilin kendisi ile. Yeni başlayan bir VBA programcısıysanız, bu yayında daha fazla çalışma için ihtiyacınız olan tüm gerekli bilgileri bulacaksınız. VBA ile zaten kıskanılacak bir deneyiminiz varsa, bu kitap gerçek hayattan yeni teknikler ve örnekler ekleyerek bilginizi zenginleştirecek ve artıracaktır.

Pdf versiyonu düzenlendi ve katkıda bulunan tarafından nazikçe sağlandı.

Kitap: :
John Walkenbach
Yayımcı: Wiley
Biçim: PDF
Sayfalar: 1308
Boyut: 11,9 MB
Kalite: Harika
Dilim: İngilizce
Yayın yılı: 2010
Bu kitap, Excel'de yerleşik olarak bulunan programlama dili (ve Microsoft Office'i oluşturan diğer uygulamalar) olan Visual Basic for Applications (VBA) üzerine odaklanmaktadır. Daha spesifik olarak, Excel'de çeşitli görevleri otomatikleştiren programların nasıl yazılacağını gösterecektir. Bu kitap, basit makroları kaydetmekten karmaşık kullanıcı odaklı uygulamalar ve yardımcı programlar oluşturmaya kadar her şeyi kapsar. Bu kitap, Office için Microsoft Visual Studio Tools'u (VSTO) kapsamaz. VSTO, Visual Basic .NET ve Microsoft Visual C # kullanan nispeten yeni bir teknolojidir. VSTO, Excel ve diğer Microsoft Office uygulamalarını kontrol etmek için de kullanılabilir.
Bu, Excel kullanıcılarına yeni başlayanlar için bir kitap değildir. Excel ile deneyiminiz yoksa, Excel'in tüm özelliklerini kapsamlı bir şekilde kapsayan Excel 2010 İncil daha iyi bir seçim olabilir. Bu kitap her seviyedeki kullanıcılar içindir.

Kitap: : Excel 2010'da Profesyonel VBA Programlama
John Walkenbach
Yayımcı: diyalektik
Biçim: PDF
Sayfalar:920
Boyut: 22,1 MB
Kalite: Harika
Dilim: Rusça
Yayın yılı: 2010 Bu kitabın konusu, Excel'de yerleşik olan Visual Basic for Applications (VBA) programlama dilinin yanı sıra Microsoft Office'in parçası olan diğer uygulamalardır. Excel'de çeşitli görevlerin yürütülmesini otomatikleştiren programların oluşturulmasını ayrıntılı olarak açıklar ve ayrıca en basit makroları yazmaktan kullanıcı etkileşimi için tasarlanmış en karmaşık uygulamaları ve yardımcı programları oluşturmaya kadar çok çeşitli diğer konuları kapsar. Bu kitap, Office için Microsoft Visual Studio Tools (VSTO) yazılım paketini açıklamaz. Visual Basic .NET ve Microsoft Visual C# kullanan nispeten yeni bir teknolojinin somutlaşmış halidir. VSTO teknolojisi, Excel ve diğer Microsoft Office uygulamalarının davranışını kontrol etmek için de kullanılabilir.

Bu kitap, yeni başlayan Excel kullanıcıları için tasarlanmamıştır. Bu uygulamayla ilgili deneyiminiz yoksa, önce Excel 2010 çalışma kitabını okuyun.Excel'in tüm özelliklerini ayrıntılarıyla anlatan Kullanıcı İncili (her seviyedeki kullanıcılara yöneliktir).


Kitap:VBA eğitimi
Garnaev A.
Yayımcı: bhv
Sayfalar: 512
Biçim: rar'da resimlerle html
ISBN: 5-8206-0067-3
Boyut: 2.22 Mb

Harika

Dilim: İngilizce
Yayın yılı: 2009

Microsoft Excel, bir elektronik tablodan çok daha fazlasıdır. Excel 97'de Visual Basic Düzenleyicisi'nin tanıtılması ve ardından Excel 2000'in önemli ölçüde geliştirilmiş kararlılığı ile Excel, başlı başına saygın bir geliştirme platformu haline geldi. Excel uygulamaları artık C ++, Java ve .NET geliştirme platformunu temel alan uygulamalarla birlikte, görev açısından kritik kurumsal uygulamaların çekirdek paketinin bir parçası olarak bulunuyor.
Ne yazık ki, Excel hala çok sık bir hobi platformu olarak düşünülüyor, insanlar sadece boş zamanlarında küçük görevleri otomatikleştirmek için Excel uygulamaları geliştiriyor. Birçok Excel VBA kitabına kısa bir bakış, bu görüşü doğrular gibi görünüyor. Bu kitaplar, VBA kullanarak Excel görevlerini otomatikleştirmenin temellerine odaklanır. Bu kitap, profesyonel kalitede uygulamalar geliştirmek için bir platform olarak Excel'in nasıl kullanılacağına dair ayrıntılı bir açıklama sağlayan türünün ilk örneğidir.
Diğer büyük geliştirme platformlarının çoğu, bu platformu kullanarak mimari oluşturmak, tasarlamak ve uygulama geliştirmek için yaygın olarak kabul edilen en iyi uygulamaları açıklayan fiili bir standart metne sahip gibi görünse de, Excel'in şimdiye kadar sahip olmadığı. Bu kitap bu boşluğu doldurmaya çalışıyor. Yazarlar, bireylerden en büyük çok uluslu şirketlere kadar çeşitli müşteriler için Excel tabanlı uygulamalar oluşturan profesyonel Excel geliştiricileridir. Bu kitap, müşterilerimiz için yazdığımız uygulamaları tasarlarken, geliştirirken, dağıtırken ve desteklerken kullandığımız yaklaşımları açıklar.
Bu kitap kullanıcı tarafından katkıda bulunmuştur

Bu sayfanın içeriği sürekli büyüyecek ...
  1. Hesaplama programı "Sayıları büyük güçlere yükseltmek".

    Uzun aritmetik kullanarak tek basamaklı sayıları (2'den 9'a kadar) büyük güçlere yükseltmenin doğru hesaplamasını uygulayın.

  2. Jonny323 tarafından forumdan. VBA Kelimesi

    Herkese merhaba. Gerçekten bir makroya ihtiyacım var, karmaşık olmadığını düşünüyorum: İlk sayfayı 6 kopya, ikinci sayfayı 2 kopya olarak basıyorum.Şimdiden teşekkürler.

  3. Formdaki ProgressBar. VBA Excel'i

    Programın ilerleyişini (%100 üzerinden ne kadar iş yapıldığını) gösteren bir kontrol...

  4. Vurgulanan metinde istatistiksel hesaplamalar. VBA Kelimesi

    Word'de serbest metindeki sözcük, virgül ve nokta sayısını belirleyecek bir makro oluşturun.
    Sözcükler, boşluklarla (bir veya daha fazla) ayrılmış ve içinde boşluk içermeyen karakter gruplarıdır. Bir kelimenin içinde nokta veya virgül olamaz. Üç nokta nokta sayılmaz...

  5. Belge metnindeki istatistiksel hesaplamalar. Veri girişi için UserForm'u kullanma. VBA Kelimesi

    Word'de bir program oluşturun - Formda, kullanıcı bir kelime veya kelime öbeği girer ve program tüm metni tarar ve girilen kelimeyi (ifadeyi) belgenin sonuna ekler, yanında tüm sayfa numaralarının bulunduğu bu kelime oluşur listelenir. Sayfa numarası eşleşmelerine izin verilmez. Yani, belirtilen kelime sayfa 5'te üç kez görünüyorsa, çıktıda 5 sayısı yalnızca bir kez gösterilir. Form aşağıdaki bileşenlerden oluşmalıdır:
    - Bir kelime (ifade) girmek için 1 TextBox;
    - Programdan çıkmak için 1 düğme;
    - Aramayı başlatmak ve sonucu belgeye eklemek için 1 düğme;
    - giriş satırının üzerinde açıklayıcı metin bulunan Etiket türü bileşeni;
    - Ek olarak, form, Çerçeve tipinin bileşenlerine sahip olabilir;

  6. ListBox (Excel) ile çalışma. Yapışma, sıralama, çoklu seçim...

  7. Japonca Sudoku bulmacasını çözme programı (Excel)

  8. Yürütme makrolarını sorgulama (yani bir Excel veritabanından yeni bir tablo oluşturma)

  9. Hoare sıralama (wikipedia.org'dan algoritma)

    En hızlı sıralama yöntemlerinden biri.
  10. Sıralamayı Birleştir (Hoare kullanarak)

    En hızlı ve en uygun sıralama yöntemlerinden biri.
  11. VBA Excel: İnsan bioritmlerini hesaplama programı

  12. programrsforum.ru ile blackarrow için

  13. Hangi koordinat çeyreğine karar verin
    A(a,b) koordinatları verilen nokta düşer. VBA EXCEL'i.

  14. VBA EXCEL sözcüklerinde tamsayı gösterimi.

  15. MANTIK.

    İkinci dereceden bir denklemi çözme.
  16. VBA EXCEL'i.

  17. VBA EXCEL'i. Üçgen sorunu. Dizi, döngü, mantık.

    Üçgenin üç tarafının boyutları göz önüne alındığında, görünüşünü belirleyin (dikdörtgen, geniş, dar veya inşa edilmesi imkansız).
  18. Excel'de çalar saat

  19. VBA EXCEL'i.

  20. VBA EXCEL'i.

  21. VBA EXCEL'i.

    Seçilen aralıkta temsil eden bir makro tüm negatif sayılar mavi, pozitif sayılar kırmızı, sıfırlar beyazdır (veya sarı).

  22. VBA EXCEL'i. Sayfa öğeleri nasıl gizlenir veya gösterilir.

    Bazen bazı özellikleri kullanıcıdan gizlemek gerekir (kural olarak, verilerin konumu gizlenir):
    - bu kitabın diğer sayfalarını ziyaret edin (onları bilmemek daha iyidir);
    - sayfayı (yatay ve dikey olarak) kaydırın
    - çalışma sayfası hücrelerindeki formülleri okuyun ve değiştirin
    - sütun ve satır satırlarını gizle
    - sütunların ve satırların başlıklarını (adlarını ve numaralarını) gizle
  23. VBA EXCEL'i. Menü öğesi ekleyin ve kaldırın.

    Excel menüsüne kendi öğenizi eklemek (kaldırmak) zor değil. Bunların hepsi yardımda açıklanmıştır.
    Ama bu işi bir makroya emanet etmek çok daha ilginç.
    Ardından, belirli bir belgeyi açarken özel, bireysel bir menü oluşturmak ve kapattıktan sonra Excel menüsünü orijinal durumuna getirmek mümkün olur. (Bu kod örneği yalnızca MS Excel 2003'te çalışır ve 2007'de kontrol panellerinin adlarının değiştirilmesi gerekir)
  24. Hücresel otomatlar VBA EXCEL.

  25. Altın bölüm VBA EXCEL yöntemi.

  26. Seçili aralıktaki hücrelerin maksimum ve minimum değerlerini değiştirir. VBA Excel'i

    Çalışma sayfasının seçilen aralığının maksimum ve minimum değerlerine sahip öğeleri bulmak ve yeniden düzenlemek için bir program veya özel form geliştirin

  27. Sıfırdan belirli bir sayıya kadar olan asal sayıların karelerini döndüren bir dize işlevi. VBA Excel'i

    Excel'de bir doğal sayı N alan ve 0'dan belirli bir doğal N'ye tüm asal sayıların karelerini döndüren bir işlev yazın.

  28. Ticari banka kredileri hakkında veri girmek için Kullanıcı Formu. VBA Excel'i

    Aşağıdaki verilerle ticari bir banka tarafından uzun vadeli kredi verilmesine ilişkin verileri içeren bir tabloya bilgi girişini düzenleyin: kredi alıcısının kodu, kredi alıcısının adı, kredinin veriliş tarihi, dönem (3- 4 dönem) kredinin verildiği (gün olarak), faiz, kredi tutarı, kredi faizinin ödeme tarihi.

  29. Turist kayıt verilerini girmek için UserForm. VBA Excel'i

    tam da bu yerde...

MZTools - VBA'da program yapanlar için çok kullanışlı bir yardımcı program. Kodlama sırasında gerçekten zaman kazandırır. yardımcı program olması da önemlidir. Tamamen ücretsiz... İşte özelliklerinden bazıları:

  • Hata işleyicilerin modüllere otomatik olarak eklenmesi
  • Zaman, modül ve prosedür adlarının otomatik olarak eklenmesiyle prosedür başlığına yorum ekleme, prosedürün yazarını belirtme yeteneği
  • Kod satırlarının otomatik numaralandırılması
  • Kod satırlarından numaralandırmayı kaldırma
  • Yaygın olarak kullanılan kodlar için şablonlar oluşturma
  • 9 işlem için kendi panoya sahip olun ve 9 kopyalanan koddan herhangi birini kodlayıp yapıştırın
  • ve daha birçok faydalı şey

Program ücretsiz olarak dağıtılmaktadır.

(37.3 KiB, 3 708 indirme)


Resmi site: bulunamadı

VBE Araçları - Kaçınız formun kodunu yazmak zorunda kaldınız ve sonra bazı öğelerin istediğiniz gibi adlandırılmadığını veya koddaki bir değişiklik nedeniyle yalnızca yeniden adlandırmak istediğinizi hatırlıyor musunuz? Ve elbette, bir öğeyi yeniden adlandırırken, koda girmeniz ve bu öğeye yapılan tüm referansları orada yeni bir adla değiştirmeniz gerektiği sorunuyla karşılaştık. Böylece, bu programı kullanarak, herhangi bir form öğesinin adını (TextBox, Label, vb.) ve Excel sayfasındaki ActiveX denetimlerini yeniden adlandırabilirsiniz ve programın kendisi, koddaki tüm bağlantıları eski addan yenisine değiştirecektir. . Çok rahat.

Program ücretsiz olarak dağıtılmaktadır.

Konu 2.3. Sunum yazılımı ve ofis programlama temelleri

Konu 2.4. Veritabanı yönetim sistemleri ve uzman sistemler

2.4.11. "Training_students" ana düğme formuna sahip eğitim veritabanı - İndir

VBA programlama ve makrolar

2.3. Sunum yazılımı ve ofis programlama temelleri

2.3.7. Ofis programlama temelleri

Uygulamalar için Visual Basic Programlama Dili: Uygulamalar için Visual Basic (VBA)

VBA, VB uygulamaları oluşturmak için neredeyse tüm araçları içeren görsel programlama dili Visual Basic'in (VB) bir alt kümesidir.

VBA, VB programlama dilinden farklıdır, çünkü VBA, doğrudan Office nesneleriyle çalışmak üzere tasarlanmıştır; Office uygulamalarından bağımsız bir proje oluşturamaz. Böylece VBA'da programlama dili VB'dir ve programlama ortamı, herhangi bir MS Office uygulamasından etkinleştirilebilen bir VB editörü olarak uygulanır.

Örneğin bir PowerPoint uygulamasından VBA düzenleyicisini açmak için Araçlar / Makro / VBA Düzenleyici komutunu çalıştırmanız gerekir. Görünüm menüsünden Microsoft PowerPoint komutunu seçerek veya Alt + F11 tuşlarına basarak düzenleyiciden uygulamaya dönebilirsiniz.

Kullanıcı, VBA düzenleyicide yerleşik olarak bulunan bir dizi denetim ve bir form düzenleyici kullanarak, geliştirme aşamasındaki proje için bir görüntüleme formuyla bir kullanıcı arabirimi oluşturabilir. Kontroller nesnelerdir ve her nesne için bir dizi olası olay tanımlanmıştır (örneğin, fare tıklaması veya çift tıklama, tuşa basma, nesne sürükleme vb.).

Her olay, programın belirli eylemlerinde (yanıtlar, tepkiler) kendini gösterir. Özel bir form, uygulama iletişim kutuları oluşturmanıza olanak tanır. VBA programlama dili, örneğin Excel'de kullanıcı işlevleri oluşturmak için program kodu yazmak için kullanılır.

VBA programlama sisteminin Office nesneleriyle çalışmak üzere tasarlanmış olması, çeşitli belge türlerinin geliştirilmesiyle ilgili etkinlikleri otomatikleştirmek için etkin bir şekilde kullanılmasına olanak tanır.

VBA'da kullanıcı işlevleri oluşturmak için algoritmayı düşünün:

1. Service / Macro / Visual Basic Editor komutunu çalıştırarak veya Alt + F11 tuşlarına basarak VBA kod düzenleyici penceresini çağırın.

2. Ekle / Modül (Ekle / Modül) düzenleyicisinin menü öğesini çalıştırın.

3. Ardından, Ekle / Prosedürü yürütün. Açılan Prosedür Ekle penceresinde, fonksiyonun adını girin (örneğin, SUM5) ve anahtarları ayarlayın: Tip - Fonksiyon konumunda; Kapsam - Genel olarak ayarlayın ve Tamam'a tıklayın.


Pirinç. 1.

4. VBA programlama düzenleyici penceresinde bir işlev şablonu görünecektir: başlık Public Function SUM5 () ve bitiş, fonksiyon gövdesinin kodunu yerleştirmeniz gereken End Function'dır.


Pirinç. 2.

5. Ardından, fonksiyon parametreleri listesini girin, örneğin belirttiğimiz parantez içinde (x, y, z, i, j), veri tipini (doğru hesaplamalar için) ve fonksiyon tarafından döndürülen değerin tipini (biz bu örnekte girilmeyecektir). Ayrıca, işlevin gövdesini tanıtıyoruz, örneğin, SUM5 = x + y + z + i + j. Sonuç olarak, aşağıdaki program metnini elde ederiz:

Genel İşlev SUM5 (x, y, z, i, j)
TOPLA5 = x + y + z + ben + j
Bitiş İşlevi

6. Örneğin, beş değer toplamamız gereken Excel uygulama penceresine dönün.

7. "Ekle / İşlev" yürütüyoruz ve işlev sihirbazının açılan penceresinde "Kullanıcı tanımlı" kategorisini seçin ve "İşlev seç" penceresinde SUM5'i seçin ve Tamam'a tıklayın.



Pirinç. 3.



Pirinç. 4.

makrolar

Makro oluşturma

A1, B1 hücrelerine otomatik olarak iki sayı eklemek ve sonucu C1 hücresine yerleştirmek ve C1 hücresini turkuaz ile doldurmak için bir makro oluşturalım.

Eldeki görev için bir makro oluşturma algoritması:

1. Araçlar / Makro'yu seçin, Kaydı Başlatın.

2. Makro adı kutusuna makro için bir ad girin. Bir makro adının ilk karakteri bir harf olmalıdır. Makro adında boşluklara izin verilmez; sözcük ayırıcı olarak alt çizgi kullanabilirsiniz.

3. Makroyu bir klavye kısayolu kullanarak çalıştırmak için Klavye kısayolu kutusuna bir harf girin. CTRL + harfini (küçük harfler için) veya CTRL + ÜST KRKT + harfini (büyük harfler için) kullanabilirsiniz, burada harf klavyedeki herhangi bir harf tuşudur. Varsayılan klavye kısayolunu seçmeyin, seçilen klavye kısayolu, bu çalışma kitabının zamanındaki standart Microsoft Excel klavye kısayollarını geçersiz kılar.

4. "Kaydet" alanında, makroyu kaydetmek istediğiniz çalışma kitabını seçin. Makroyu Bu Kitaba kaydedin. Makronun kısa bir açıklamasını oluşturmak için, Açıklama alanına gerekli metni girin. Ekran görüntüsü, "Makro Kaydet" iletişim kutusunu doldurmanın bir örneğini gösterir.


Pirinç. 5.

5. Tamam'a tıklayın.

6. Kaydedilecek makroları yürütün.


Pirinç. 6.

7. Kayan İşletim Sistemi araç çubuğundaki (Kaydı Durdur) veya Araçlar / Makro / Makroyu Durdur üzerindeki Kaydı Durdur düğmesini tıklayın.

Bir makroyu kaydetmeyi bitirdiğinizde, makrolar listesinde kendi adı altında görünür.

VBA düzenleyicisi, gerçekleştirilen eylemlere göre bir dizi makroyu veya programı otomatik olarak kaydetti (Şekil 7.).



Pirinç. 7.

Bir makroyu çağırmak için Servis / Makrolar / Makrolar komutunu çalıştırmanız gerekir. Bundan sonra, makroların listesini içeren iletişim kutusunda, onu ada göre bulabilir ve Çalıştır düğmesini tıklayabilirsiniz.

Bir makroyu çalıştırmak için bir araç çubuğu düğmesi atama

Yerleşik araç çubuğundaki bir düğme kullanılarak bir makro başlatılabilir, bunun için çalıştırmanız gerekir:

  1. Servis menüsünde Ayarlar öğesini seçin.
  2. Özelleştir iletişim kutusunda, Komutlar sekmesini seçin ve Kategoriler listesinde Makrolar seçeneğini seçin, Komutlar listesinde "Özel Düğme"yi seçin.
  3. Komutlar listesinden özel bir düğmeyi araç çubuğuna sürükleyin.
  4. Bu düğmeye sağ tıklayın ve içerik menüsünden Makro Ata'yı seçin.
  5. Makro adı alanına makro için bir ad girin.

Bir makroyu çalıştırmak için bir grafik nesne alanı atama:

  1. Bir grafik nesnesi oluşturun.
  2. Bağlam menüsünü seçilen grafik nesnesine uygulayın.
  3. Bağlam menüsünden Makro Ata komutunu seçin.
  4. Görüntülenen "Nesneye makro ata" iletişim kutusunda, Makro adı alanına makronun adını girin ve ardından Tamam düğmesini tıklayın.

Makro düzenleme, VBA düzenleyicisi tarafından gerçekleştirilir, bunun için aşağıdakileri yapmanız gerekir:

  1. Servis / Makro / Makrolar komutunu seçin.
  2. Ad listesinden değiştirilecek makronun adını seçin.
  3. Değiştir düğmesine basın, seçilen makronun Visual Basic dilinde yazılmış komutlarını düzenleyebileceğiniz bir Visual Basic penceresi açılacaktır.


Bir makroyu kaldırma:

  1. Araçlar menüsünde Makro'yu ve ardından Makrolar komutunu seçin.
  2. Geçerli çalışma kitabındaki makrolar listesinde, silmek istediğiniz makroyu seçin ve Sil düğmesini tıklayın.

Bir makroyu yeniden adlandırma

Bir makroyu yeniden adlandırmak için makro düzenleme moduna girmeli ve program metnindeki başlığı değiştirmelisiniz. Yeni ad, makro listelerinde otomatik olarak eskisinin yerini alacak ve kısayol tuşları kullanılarak yeni bir adla bir makro çağrılacaktır.