Her Örnek İçin VBA (Hızlı Başvuru)

Bu eğitim size VBA'da Her Döngü İçin Kullanmanın örneklerini gösterecektir. Genel olarak döngüler hakkında daha fazla bilgi edinmek için buraya tıklayın.

Her Döngü İçin

For Her Döngü, döngüler arasında geçiş yapmanızı sağlar. her biri bir koleksiyondaki nesne:

  • Bir aralıktaki tüm hücreler
  • Bir çalışma kitabındaki tüm çalışma sayfaları
  • Tüm açık çalışma kitapları
  • Bir çalışma sayfasındaki tüm şekiller
  • Bir dizideki tüm öğeler
  • ve dahası!

Her Biri İçin: Temel Örnekler

Bu örnekler, farklı nesne türleri arasında döngü yapmak için For Her döngülerinin nasıl ayarlanacağını gösterecektir.

Hücreler Arası Döngü

Bu prosedür, A1:A10 aralığındaki her hücrede döngü yaparak hücreyi kendisine eşit olarak ayarlayacaktır.

12345678 Alt ForEachCell()Dim Hücre Aralık OlarakSayfalardaki Her Hücre İçin("Sayfa1").Range("A1:A10")Hücre.Offset(0, 1).değer = Hücre.değerSonraki HücreAlt Bitiş

Sayfalarda Döngü

Bu prosedür, bir Çalışma Kitabındaki her bir sayfa arasında dolaşarak her bir sayfayı gizleyecektir.

12345678 Alt ForEachSheets()Dim ws As Çalışma SayfasıSayfalardaki Her ws içinws.Visible = DoğruSonraki SayfaAlt Bitiş

Çalışma Kitaplarında Döngü

Bu prosedür, her bir çalışma kitabını kapatarak her birini kapatacaktır.

12345678 Alt ForEachWorkbooks()Çalışma Kitabı Olarak Dim wbÇalışma Kitaplarında Her wb içinwb.KapatSonraki wbAlt Bitiş

Şekillerde Döngü

Bu prosedür, Sayfa1'deki her bir şekil arasında dolaşarak her birini silecektir.

12345678 Alt ForEachShape()Dim Shp Şekil OlarakHer Shp İçin Sayfalarda("Sayfa1").ŞekillerShp.SilSonrakiAlt Bitiş

Grafiklerde Döngü

Bu prosedür, her birini silerek Sayfa1'deki her bir Grafikte dolaşacaktır.

12345678 Alt ForEachCharts()Dim cht As ChartObjectHer cht için Sheets("Sheet1").ChartObjectscht.SilSonraki ktAlt Bitiş

PivotTable'larda Döngü

Bu yordam, Sayfa1'deki her PivotTable'da dolaşacak ve her birini temizleyecektir.

12345678 Alt ForEachPivotTables()PivotTable olarak karartma pvtSayfalarda("Sayfa1").PivotTable'larda Her pvt içinpvt.ClearTableSonraki özellikAlt Bitiş

Tablolarda Döngü

Bu prosedür, her birini silerek Sayfa1'deki her bir Tablo arasında dolaşacaktır.

12345678 Alt ForEachTables()Dim tbl As ListObjectSayfalardaki Her tbl için("Sayfa1").ListObjectstbl.SilSonraki tblAlt Bitiş

Dizideki Öğeler Arasında Döngü

Bu prosedür, bir Dizideki her bir öğe arasında dolaşacak, her değeri bir mesaj kutusunda gösterecek,

12345678910 Alt ForEachItemInArray()Dim arrValue As VaryantVaryant Olarak Öğeyi KarartarrValue = Array("Öğe 1", "Öğe 2", "Öğe 3")arrValue'daki Her Öğe İçinMesaj Kutusu ÖğesiSıradaki eşyaAlt Bitiş

Sayılarda Döngü

Bu prosedür, bir Dizideki her sayı arasında dolaşacak, her değeri bir mesaj kutusunda gösterecek,

12345678910111213 Alt ForEachNumberInNumbers()Dim arrNumber(1 - 3) As IntegerDim num Varyant OlarakdiziSayı(1) = 10arrNumber(2) = 20arrNumber(3) = 30arrNumber'daki her sayı içinMesaj Kutusu NumarasıSonraki sayıAlt Bitiş

Her Döngü Oluşturucu için

Bu makaledeki örnekler, Döngü Oluşturucu bizim VBA Eklentisi: Otomatik Makro.

NS Döngü Oluşturucu nesneler arasında dolaşmak için kod oluşturmayı çok kolaylaştırır. Otomatik Makro ayrıca birçok başka içerir Kod Üreticileri, Kapsamlı Kod Kitaplığı, ve güçlü Kodlama Araçları.

Her biri için - Eğer

Nesnelerin belirli ölçütleri karşılayıp karşılamadığını test etmek için Döngüler içindeki If İfadelerini de kullanabilirsiniz, yalnızca ölçütleri karşılayan nesneler üzerinde eylemler gerçekleştirin. Bir aralıktaki her hücrede döngü oluşturmaya bir örnek:

Aralıktaki Her Hücre İçin - Eğer

1234567891011121314 Alt If_Loop()Aralık olarak Hücreyi KarartAralıktaki Her Hücre İçin("A2:A6")Cell.Value > 0 iseCell.Offset(0, 1).Value = "Pozitif"ElseIf Cell.Value < 0 O zamanCell.Offset(0, 1).Value = "Negatif"BaşkaCell.Offset(0, 1).Value = "Sıfır"BitirSonraki HücreAlt Bitiş

Her Ortak Örnek için

Tüm Çalışma Kitaplarını Kapat

Bu prosedür, değişiklikleri kaydederek tüm açık çalışma kitaplarını kapatacaktır.

123456789 Alt CloseAllWorkbooks()Çalışma Kitabı Olarak Dim wbÇalışma Kitaplarında Her wb içinwb.Close SaveChanges:=DoğruSonraki wbAlt Bitiş

Tüm Sayfaları Gizle

Bu prosedür tüm çalışma sayfalarını gizleyecektir.

12345678 Alt HideAllSheets()Dim ws As Çalışma SayfasıSayfalardaki Her ws içinws.Visible = xlSheetHiddenSonraki wsAlt Bitiş

Tüm Sayfaları Göster

Bu prosedür tüm çalışma sayfalarını gösterecektir.

12345678 Alt UnhideAllSheets()Dim ws As Çalışma SayfasıSayfalardaki Her ws içinws.Visible = xlSheetVisibleSonraki wsAlt Bitiş

Tüm Sayfaları Koru

Bu prosedür tüm çalışma sayfalarını koruyacaktır.

12345678 Alt ProtectAllSheets()Dim ws As Çalışma SayfasıSayfalardaki Her ws içinws.Protect Parola:="… "Sonraki wsAlt Bitiş

Tüm Sayfaların Korumasını Kaldır

Bu prosedür tüm çalışma sayfalarının korumasını kaldıracaktır.

12345678 Alt UnprotectAllSheets()Dim ws As Çalışma SayfasıSayfalardaki Her ws içinws.Unprotect Parola:="… "Sonraki wsAlt Bitiş

Tüm Çalışma Sayfalarındaki Tüm Şekilleri Sil

Bu yordam, bir çalışma kitabındaki tüm şekilleri siler.

123456789101112 Alt DeleteAllShapesOnAllWorksheets()Çalışma Sayfası Olarak Karartma SayfasıDim Shp Şekil OlarakSayfalardaki Her ws içinws.Shapes'teki Her Shp İçinShp.SilSonrakiSonrakiAlt Bitiş

Tüm PivotTable'ları Yenile

Bu yordam, bir sayfadaki tüm PivotTable'ları yenileyecektir.

12345678 Alt RefreshAllPivotTables()PivotTable olarak karartma pvtSayfalarda("Sayfa1").PivotTable'larda Her pvt içinpvt.RefreshTableSonraki özellikAlt Bitiş

Access VBA'da Her Biri İçin Kullanma

For Every döngüsü, Access VBA'da Excel VBA'da olduğu gibi çalışır. Aşağıdaki örnek, geçerli veritabanındaki tüm tabloları kaldıracaktır.

123456789 Alt RemoveAllTables()Dim tdf As TableDefVeritabanı Olarak Dim dbsdbs'yi ayarla = CurrentDbdbs.TableDefs'deki Her tdf İçinDoCmd.DeleteObject tdf.NameDöngüdbs'yi ayarla = Hiçbir şeyAlt Bitiş

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave