BilgisayarlarYazılım

VBA Excel: örnek programlar. Excel'de Makrolar

Az sayıda insan popüler Microsoft Excel ürünün ilk sürümü 1985 yılında ortaya çıktığını biliyoruz. O zamandan beri çeşitli değişiklikler ve dünya çapında milyonlarca kullanıcı talebini uğramıştır. Ancak birçok çalışma sadece bu e-tablonun biraz yetenekleriyle ve hatta Excel programlama yeteneği için hayatı kolaylaştırmak nasıl bilmiyorum.

VBA nedir

Excel'de Programlama aslen Microsoft'tan en ünlü elektronik tabloda inşa edildi Visual Basic uygulaması için programlama dili ile yapılmaktadır.

Onun liyakat için uzmanlar gelişim göreli kolaylığı bağlıyor. Uygulamada görüldüğü gibi, VBA temelleri, mesleki programlama bilgisi olmasa bile kullanıcıların ana olabilir. VBA için özellikler ofis uygulaması ortamında komut yapımını içermektedir.

Programın dezavantajı farklı versiyonlarının uyumluluğu ile ilişkili problemler vardır. Bu programın vba kodu ancak eski birinde, ürünün yeni bir sürümü mevcuttur işlevselliği anlamına gelir olmasından kaynaklanır. Bir yabancının yüzünü değiştirmek için büyük bir dezavantaj ve kod aşırı yüksek açıklık vardır. Ancak, Microsoft Office, ve IBM Lotus Symphony kullanıcıları görüntülemek için şifreleme giriş kodu ve şifre ayarları uygulamak için izin verir.

Nesneler, koleksiyonlar, özellikler ve yöntemler

Bu VBA ortamında işe olanlar anlamamız gerekir bu kavramlarla olduğunu. Her şeyden önce, nesne ne olduğunu anlamak gerekir. Excel'de, bir tabaka, bir kitap ve hücre aralığı gibi bu eyleminde. Bu nesneler, özel bir hiyerarşi var, yani birbirlerine uyarlar.

Aralarında Baş Uygulama, karşılık gelen Excel programı kendisidir. Izlenen Çalışma Kitapları, Çalışma Sayfaları, ve Range. Örneğin, göz önüne hiyerarşiyi alarak yolu gösterecek gereken özel bir kağıda A1 hücresine başvurmak için.

"Toplama" kayıt ChartObjects verildiği aynı sınıfın nesnelerin bu grup, kavramı ile ilgili olarak. Onun unsurları da nesnelerdir.

Sonraki şey - özellikleri. Bunlar herhangi bir nesnenin gerekli bir özelliktir. Örneğin, Range için - bir değer veya formül olduğunu.

Yöntemler - Yapmak istediğiniz göstermek için komuttur. VBA'DA kod yazarken bunları nesne noktasından gelen ayrılacak. Örneğin, olarak çok sık "Excel" kullanım Hücreler komutu (1,1) .Select içinde programlarken, daha sonra gösterilecektir. O koordinatlarla bir hücreyi seçmek için gerekli olduğu anlamına gelir (1,1), yani A1.

Ancak, çoğu zaman Selection.ClearContents kullanılır. Onun uygulanması Seçili hücrenin içeriğini takas.

nasıl başlatılır

Her şeyden önce, dosyayı oluşturup kaydettikten bir ad atamak ve makro özellikli «Kitap Excel türünü seçmek istiyorum."

Sonra, «Alt» anahtar ve «F11» bir arada kullanmak yeterlidir VB uygulama, gidin. Sonraki:

  • Pencerenin üst kısmındaki menü çubuğunda bir sonraki Excel simgesine simgesini tıklayın;
  • Mudule komutu seçilir;
  • diskete ile ikonuna tıklayarak tutmak;
  • Diyelim ki, bir kod anahat yazın.

aşağıdaki gibi görünüyor:

Alt program ()

'Bizim kod

End Sub

çizgi " 'Bizim kod" farklı bir renkte (yeşil) olarak vurgulanır unutmayın. Ne izleyen bir açıklama olduğunu gösterir dize, başında teslim bu kesme işareti sebebi.

Artık herhangi bir kod yazmak ve (örnek programlar bakın. Vb) kendileri için VBA Excel yeni bir araç oluşturabilir. Tabii ki, Visual Basic temel aşina olanlar, çok daha kolay olacaktır. Eğer çok çabuk rahat elde edebilmek istiyorsanız Ancak, daha, olmayanlar.

Excel'de Makrolar

Bu adla ardında Uygulama dili için Visual Basic ile yazılmış programları gizler. Böylece, Excel'e programlama - İstenen kod için bir makro yaratmaktır. Bu yeteneği ile Microsoft, hesap tablosu, belirli bir kullanıcı gereksinimlerine adapte, kendini geliştirir. Makro yazmak için modülleri nasıl oluşturulacağını ele olması, VBA Excel programının somut örneklerle devam etmek mümkündür. Bu en temel kodları ile başlamak en iyisidir.

Örnek 1

Görev: Bir hücrenin içeriğinin değerini kopyalayıp başka yazacak bir program yazınız.

Bunun için:

  • sekmesi "Görünüm" açmak;
  • simgesi "makro" hareket;
  • "Kayıt Makro" için sallayın;
  • açılan formu doldurun.

Kolaylık olması açısından, "Makro Adı" nda "Makros1" bırakıp "Kısayol tuşu" örneğin, ss (bu örnek program «Ctrl + h» saldırısı takımı olacağız çalışabileceği anlamına gelir), yerleştirilir. Enter tuşuna basın.

Şimdi Makro kaydını başladıklarını, başka bir hücrenin içeriğini oluşturmaktadır. Orijinal simgeye geri dönün. "Kayıt Makro" tıklayın. Bu eylem uygulamaları tamamlanmasını işaretler.

Sonraki:

  • Yine dize "Makro" taşınıyor;
  • "1 Makro" listesinde seçilir;
  • "Çalıştır" tıklayın (kısayol tuşları başlatılan aynı eylem başlar «Ctrl + hh»).

Sonuç olarak, eylem makro kayıt sırasında gerçekleştirilen edildiği.

Bu kod neye benzediğini görmek için mantıklı. Bunu yapmak için, geri dize "Makro" gidin ve "Enter" "Düzenle" veya tıklayın. Sonuç olarak, onlar VBA ortamında bulurlar. Aslında kodunun kendisi satırlar arasında makro Makros1 Sub () ve End Sub yer almaktadır.

Kopyalama gerçekleştirilmişse, örneğin, C1 hücresindeki bir hücreye A1 den, kod satırlarından birinin. Range ( "C1") gibi bakmak seçin edecektir. çeviride, bu "Aralık (" C1 ") gibi görünüyor. Seç", diğer bir deyişle, C1 hücresindeki VBA Excel bir geçiş yapar.

kodun aktif bölümü ActiveSheet.Paste takımı tamamlar. Seçilen hücre C1 (bu durumda, A1) hücre seçilen içeriği kayıt aracı.

Örnek 2

VBA döngüleri Excel'de farklı makrolar oluşturmaya yardımcı olur.

VBA döngüleri farklı makrolar oluşturmaya yardımcı olur. cos (x) - bir işlev y = x + x 3 + 3x 2 olduğu varsayılmaktadır. Bunu grafikler için bir makro oluşturmak istiyorum. Bu yalnızca VBA döngüleri kullanılarak yapılabilir.

bağımsız değişken fonksiyonları başlangıç ve bitiş değeri için x1 = 0 ve x2 = 10 alır. Ayrıca, bir sabit tanıtmak için gerekli olan - adım değeri, argüman ve sayacı için bir başlangıç değeri değiştirir.

VBA Excel makro Tüm örnekler yukarıda belirtilen aynı prosedürü kullanılarak oluşturulur. Bu özel durumda, kod şöyle görünür:

Alt programm ()

X1 = 1

X2 = 10

shag = 0.1

i = 1

x1

y = x 1 + x 1 ^ 2 + 3 * x 1 ^ 3 - COS (x1)

Hücreler (i 1) .Value = x1 (x1 değeri koordinatları (i ile bellekte yazılmış, 1))

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

i = i 1 (geçerli sayısı) +;

X1 = X1 + (bağımsız değişken adım büyüklüğü ile değiştirilir) shag;

döngü

End Sub.

y - Bu çalışma makro sonucunda "Excel" iki x değerleri kaydedilir bunlardan birincisi sütun, ve ikinci alın.

Ardından "Excel" için, onlara standardını oluşturmak mümkün zamanlama.

Örnek 3

tasarım için kullanılan iken zaten azalmış Do birlikte VBA Excel 2010 döngüleri uygulamak, hem de diğer versiyonları için.

Bir sütunu oluşturan bir program düşünün. Her bir hücrede satır numarasını karşılık gelen kareler kaydedilecektir. Tasarımın kullanımı için bir sayaç kullanımı olmadan, çok kısaca kaydetmek için izin verecektir.

Öncelikle yukarıda açıklandığı gibi, bir makro oluşturmak için gereklidir. Daha sonra, kodun kendisini yazın. Biz 10 hücreleri için değerler ilgilenen inanıyoruz. şöyle koddur.

i 10 sonraki 1 =

komut olarak "insan" diline aktarılır "bir artışlarla 1 ile 10 arasında tekrarlayan".

Görev kareler ile sütun almak için ise, örneğin, 1 ile 11 arasında tüm tek tamsayılar şunu yazabiliriz:

i = 1-10 Adım 1 Sonraki için.

Burada, adım - adım. Bu durumda, iki eşittir. Varsayılan olarak, döngüde bu yokluk tek bir aşamada olduğu anlamına gelir.

Sonuçlar hücre sayısı (yani, 1) saklanabilir gerekir. i otomatik büyümek ve satır numarası olacak adım ait Sonra her zaman değer bir artış ile döngüyü başlatın. Böylece, kod optimizasyonu olacak.

Genel olarak, kod gibi görünecektir:

Alt program ()

i = 1 için 10 Aşama 1 (1 10 için = sadece i için yazılabilir)

Hücreler (i 1) .Value = ı ^ 2 (yani kare değeri hücreye yazılır (i, 1) i)

Sonraki (bir anlamda karşıt ve diğer bir döngü başlangıcında rol oynar)

End Sub.

kayıt ve çalışma makroları (. yukarıdaki talimatlara bakınız) dahil olmak üzere, doğru bir şekilde yapılırsa, o zaman, belli bir boyut (10 hücrelerinden oluşan bu durumda) sütun elde edilecek her olarak adlandırılır.

Örnek 4

Günlük yaşamda, çok sık bazı koşullara bağlı olarak şu ya da bu karar almak gereklidir. VBA Excel onlarsız yapamaz. algoritmanın başka ders yerine seçildiği programlara örnek SON olursa ... O zaman ... başlangıçta önceden belirlenmiş (zor durumlar için) Sonra If en yaygın kullanılan tasarım ... edin.

Özellikle durumunu düşünün. Eğer kaydedildi koordinatlarla hücre (1,1) için "Excel" için bir makro oluşturmak istediğinizi varsayalım:

1 bağımsız değişken pozitif ise;

0 argüman sıfır ise;

1 argüman negatifse, eğer.

"Excel" için böyle bir makro oluşturma "sıcak" tuşları Alt ve F11 kullanımı yoluyla, standart bir şekilde başlar. Ayrıca aşağıdaki kodu yazılı:

Alt program ()

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

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

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

Daha sonra, x <0 Hücreler (1, 1) .Value = -1 ise

End Sub.

Bu argüman için istenen değer bir makro çalıştırmak ve "Excel" almak için kalır.

VBA işlevleri

Fark edeceğiniz gibi, en ünlü programı, Microsoft tablo uygulamasında çok zor değildir. Özellikle eğer VBA fonksiyonlarını kullanmayı öğrenmek. Toplamda, bu programlama dili "Excel" ve Word, yaklaşık 160 fonksiyonları içinde uygulamaları yazmak için özel olarak oluşturulmuş. Bunlar birkaç büyük gruba ayrılabilir. Bunlar:

  • Matematiksel fonksiyonlar. kosinüs değerinin değişken bunları uygulanması, doğal logaritma, ve böylece bütün bir parçası elde edilir.
  • Finansal fonksiyonlar. Nedeniyle Excel'de bulunabilirliği ve kullanımı programlamaya, sen muhasebe ve mali yerleşim için etkili araçlar alabilirsiniz.
  • Dizi işleme fonksiyonları. Bu dizi, IsArray içerir; LBound; UBound.
  • VBA Excel hattı için çalışır. Bu oldukça büyük bir gruptur. Bu, örneğin, alan işlevi ANSI kod tam sayı bağımsız değişken veya Artan transfer semboller eşit boşluklar bir dizi ile bir dizi yaratmak için, içerir. Hepsi çok kullanılan ve bu tablolarla çalışmak çok daha kolay uygulamaları oluşturmak için "Excel" dizeleri ile çalışmak için izin verir.
  • Veri türü dönüştürme işlevleri. Örneğin, CVar değişken veri türü için dönüştürme Expression bağımsız değişken döner.
  • Tarih fonksiyonları. Bunlar büyük ölçüde "Excel" standart özelliklerini genişletin. Yani, WeekdayName işlevi sayısına göre haftanın günü (tam veya kısmi) adını döndürür. Daha da kullanışlı Timer olduğunu. O günün belirli anına gece yarısından itibaren geçen saniye sayısını verir.
  • farklı sayı sistemlerinde sayısal argüman dönüştürmek için çalışır. Örneğin, Ekim sayısının sekizlik gösterimine verir.
  • biçimlendirme fonksiyonları. Bunlardan en önemlisi Formatı olduğunu. Bu formatın açıklamasında, verilen talimatlara uygun olarak biçimlendirilmiş bir ifade ile bir varyant döndürür.
  • ve benzeri.

bu işlevler ve bunların uygulama özelliklerinin incelenmesi anlamlı "Excel" kapsamını genişletecektir.

Örnek 5

en fazla karmaşık sorunları çözmek için çalışalım. Örneğin:

Dan kağıt belge kurumsal raporunun maliyetlerinin fiili seviyesi. gerektirir:

  • tablo "Excel" tarafından desen bölümünü geliştirmek;
  • Ham veriler gerekli hesaplamaları yapmak ve ilgili hücrenin şablonda doldurmak için, doldurmaya isteyecektir bir VBA programda.

Aşağıdaki çözümlerden birini düşünün.

Şablon oluşturma

Tüm eylemler Excel'de bir standart levha üzerinde gerçekleştirilir. üzerine veri girişi için ayrılan Ücretsiz hücreler ay, yıl, başlık tüketici şirketleri, masrafların tutarı, ciro onların seviyesi. Raporda kaydedilmez ele edilen şirketlerin (şirketler), sayısı arttıkça, hücreler önceden ayrılmış değildir değerler ve mesleki isim bazında yapmak. Yeni bir isim verilecek Çalışma. Örneğin, "Օ Raporu".

değişkenler

Program otomatik şablonunda doldurmak yazmak için gösterimini seçin. Onlar değişkenler için kullanılacaktır:

  • tablosu mevcut satır nn sayısı;
  • TP ve TF - planlanan ve fiili devir;
  • SF ve SP - fiili ve planlanan toplam maliyetler;
  • IP ve IF - planlanmış ve fiili maliyetleri seviyesi.

Biz aynı harflerle ifade, ama bu sütun için bir "ön ek» Itog birikimi toplam. Örneğin, ItogTP - kolona ilişkin olarak olarak, başlıklı "planlı ciro."

VBA programlama kullanılarak problemin çözümü

bu notasyonu kullanarak, varyans formülünü elde ederiz. Eğer% olarak hesaplamayı gerçekleştirmek istiyorsak var (F - P) / P * 100 ve miktarında - (- P F).

bu hesaplamaların sonuçları iyi sadece uygun hücrelerde "Excel" e-tablosunu yapmak olabilir.

ItogP = ItogP + U ve ItogF = ItogF + F formüllerle elde edilen sonuç aslında ve prognoz için

sapmalar = kullanmak için (ItogF - ItogP) / ItogP x 100 hesaplama yüzdesi olarak gerçekleştirilir ve eğer toplam değeri ise - (ItogF - ItogP).

Sonuçlar bir kez daha uygun hücrelerde kaydedildi, bu nedenle değişkenlere atamak için gerek yoktur.

Bir programı oluşturmak başlamadan önce adı "Otchet1.xls" altında, örneğin, çalışma kitabını kurtarmak istiyorum.

Basın "bir raporlama tablosunu oluştur" a başlık bilgilerini girdikten sonra sadece 1 kez basması gerekir. Bilirsiniz ve diğer kurallar olmalıdır. Özellikle, düğme "bir çizgi Ekle" her etkinlik için değerlerin tabloya girdikten sonra her defasında basılması gerekir. renkli "Bitir" tuşuna basıp ardından pencerede "Excel" geçmek için gerekli tüm verileri girdikten sonra.

Şimdi Makrolar ile Excel için sorunu çözmek için nasıl biliyorum. vba kullanma yeteneği (. Above örnek programlar bakınız) excel ve şu an, metin editörü en popüler ortamında çalışmanız gerekebilir "Word". Özellikle, bu makalenin başında gösterildiği gibi, kaydederek veya metin üzerinde operasyonların birçok görevde ya da "Görünüm" simgesi ve "Makro" sekmesi aracılığıyla tuşlarına basarak yapılabilir geçtiği menü düğmeleri oluşturmak için kod yazarak.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tr.birmiss.com. Theme powered by WordPress.