Menü
Bedava
kayıt
ev  /  bellenim/ PHP foreach döngüsü: onu kullanmanın iki yolu. while ve foreach döngülerini yapın Php foreach dizileri

PHP foreach döngüsü: onu kullanmanın iki yolu. while ve foreach döngülerini yapın Php foreach dizileri

Genellikle bir PHP dizisinin tüm öğelerini gözden geçirmeniz ve her bir öğe üzerinde bir tür işlem gerçekleştirmeniz gerekir. Örneğin, her değerin çıktısını bir HTML tablosuna verebilir veya her öğeye yeni bir değer atayabilirsiniz.

V bu ders indekslenmiş ve ilişkili diziler arasında dolaşırken foreach yapısına bakacağız.

Öğe değerleri üzerinde döngü

Foreach için en basit kullanım durumu, indekslenmiş bir dizideki değerler üzerinde döngü yapmaktır. Temel sözdizimi:

Foreach ($ değeri olarak $ dizisi) (// $ değeri ile bir şeyler yapın) // Burada kod, döngü bittikten sonra yürütülür

Örneğin, aşağıdaki komut dosyası, dizinlenmiş bir dizideki yöneticiler listesinde dolaşır ve her birinin adını yazdırır:

$ yönetmenler = dizi ("Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang"); foreach ($ yönetmen olarak $ yönetmen) (echo $ yönetmen. "
"; }

Yukarıdaki kod çıktı verecektir:

Alfred Hitchcock Stanley Kubrick Martin Scorsese Fritz Lang

Anahtarlar ve değerler üzerinde döngü

İlişkili diziler ne olacak? Bu tür dizileri kullanırken, genellikle her bir elemanın anahtarına ve değerine erişime sahip olmak gerekir. foreach yapısının bu görevi gerçekleştirmenin bir yolu vardır:

Foreach ($ anahtar olarak $ dizisi => $ değeri) (// $ tuşu ve / veya $ değeri ile bir şeyler yapın) // Burada kod, döngü bittikten sonra yürütülür

Filmler hakkında bilgi içeren ilişkili bir dizi aracılığıyla bir döngü düzenleme örneği, HTML tanım listesinde her öğenin anahtarını ve değerini görüntüler:

$ film = dizi ("başlık" => "Arka Pencere", "yönetmen" => "Alfred Hitchcock", "yıl" => 1954, "dakika" => 112); Eko "

"; foreach ($ film olarak $ anahtar => $ değer) (eko"
$ anahtarı:
"; Eko"
$ değeri
";) Eko"
";

Bu komut dosyası yürütüldüğünde çıktı verir:

Başlık: Arka Cam Yönetmen: Alfred Hitchcock Yıl: 1954 Dakika: 112

Bir elemanın değerini değiştirme

Peki ya döngü sırasında bir elemanın değerindeki değişim? Bunun gibi bir kod deneyebilirsiniz:

Foreach ($ değeri olarak $ myArray) ($ değeri = 123;)

Ancak, yürütme için çalıştırırsanız, dizideki değerlerin olduğunu göreceksiniz. değiştirme... Bunun nedeni, foreach'in birlikte çalışmasıdır. kopya dizi değerleri, orijinal değil. Bu, orijinal diziyi olduğu gibi bırakır.

Bir dizinin değerlerini değiştirmek için ihtiyacınız olan bağlantı değer üzerinde. Bunu yapmak için, önüne & işaretini koymanız gerekir. değişken değer foreach yapısında:

Foreach ($ myArray as & $ değeri) ($ değeri = 123;)

Örneğin, aşağıdaki komut dosyası, $ direktörler dizisindeki her bir öğe (yönetmen adı) arasında dolaşır ve şunları kullanır: PHP işlevi patlat () ve adları ve soyadlarını değiştirmek için liste yapısı:

$ yönetmenler = dizi ("Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang"); // foreach ($ direktör as & $ direktör) (list ($ firstName, $ lastName) = patlat ("", $ direktör); $ direktör = "$ lastName, $ firstName";) unset için her öğenin ad biçimini değiştirin ( $ yönetmen); // foreach ($ direktör olarak $ direktör) nihai sonucunu yazdırın (echo $ direktör. "
"; }

Komut dosyası çıktı:

Hitchcock, Alfred Kubrick, Stanley Scorsese, Martin Lang, Fritz

Komut dosyasının, ilk döngü tamamlandıktan sonra $ yönetmen değişkenini kaldırmak için unset () işlevini çağırdığını unutmayın. Değişkeni daha sonra komut dosyasında farklı bir bağlamda kullanmayı planlıyorsanız, bu iyi bir uygulamadır.

Bağlantıyı silmezseniz, dizideki son öğeye ("Lang, Fritz") rastgele bir referans kodunun daha fazla yürütülmesinde bir risk vardır, eğer $ direktör değişkenini kullanmaya devam ederseniz, bu öngörülemeyen sonuçlara yol açacaktır!

Özet

Bu eğitimde, nasıl kullanılacağına baktık PHP yapısı foreach dizinin elemanları arasında dolaşmak için. Aşağıdaki konular ele alındı:

  • Bir dizinin elemanları arasında nasıl döngü yapılır
  • Her öğenin anahtarına ve değerine nasıl erişilir?
  • Döngüde yürürken değerleri değiştirmek için bir referans nasıl kullanılır?

Üzerinde yinelemek istediğiniz ilişkisel bir diziniz olduğunu hayal edin. PHP, Foreach yapısını kullanarak bir dizinin her bir öğesini sırayla kullanmanın kolay bir yolunu sağlar.

Sade bir dille, kulağa şöyle bir şey gelebilir:
"Belirtilen dizideki her öğe için bu kodu yürütün."

Bir koşul sağlanana kadar devam edecek olsa da, foreach döngüsü dizinin her bir elemanından geçene kadar devam edecektir.

PHP Foreach: Örnek

Şirketimizdeki kişilerin adlarını ve yaşlarını saklayan bir ilişkisel dizimiz var. Her çalışanın kaç yaşında olduğunu bilmek istiyoruz, bu nedenle her bir çalışanın adını ve yaşını yazdırmak için her öğede bir döngü kullanıyoruz.

$ çalışanYaşları; $ çalışanYaşları ["Lisa"] = "28"; $ çalışanYaşları ["Jack"] = "16"; $ çalışanYaşları ["Ryan"] = "35"; $ çalışanYaşları ["Rachel"] = "46"; $ çalışanYaşları ["Grace"] = "34"; foreach ($ çalışanYaşları as $ anahtar => $ değer) (echo "Ad: $ anahtar, Yaş: $ değer
"; }

Şu sonucu alıyoruz:

İsim: Lisa, Yaş: 28 İsim: Jack, Yaş: 16 İsim: Ryan, Yaş: 35 İsim: Rachel, Yaş: 46 İsim: Grace, Yaş: 34

Eh, sonuç iyi ve anlaşılır, ancak foreach yapısının sözdizimi çok kolay ve anlaşılır değil. Daha yakından bakalım.

Her sözdizimi için: $ bir şey olarak $ anahtarı => $ değeri

Tüm bu çılgınlık kabaca şu anlama gelir: “$personAges ilişkisel dizisinin her bir öğesi için, $ anahtarına ve içindeki değere, yani $ değerine başvurmak istiyorum.

"=>" operatörü, bir anahtar ile bir değer arasındaki ilişkiyi temsil eder. Örneğimizde bunları anahtar - $ anahtar ve değer - $ değer olarak adlandırdık. Ancak bunları isim ve yaş olarak düşünmek daha kolay olacaktır. Aşağıdaki örneğimizde böyle yapacağız ve not edelim ki sonuç aynı olacaktır çünkü sadece anahtarlara ve değerlere atıfta bulunan değişkenlerin isimlerini değiştirmişiz.

$ çalışanYaşları; $ çalışanYaşları ["Lisa"] = "28"; $ çalışanYaşları ["Jack"] = "16"; $ çalışanYaşları ["Ryan"] = "35"; $ çalışanYaşları ["Rachel"] = "46"; $ çalışanYaşları ["Grace"] = "34"; foreach ($ çalışanAges as $ name => $ age) (echo "Ad: $ name, Age: $ age
"; }

Eh, sonuç, tekrar ediyoruz, aynı.

PHP foreach döngüsü şu şekilde kullanılabilir:

foreach ($ değeri olarak $ dizi_adı) (// yürütülecek kod)

foreach ($ dizi_adı olarak $ anahtar => $ değer) (// // yürütülecek kod)

Sayısal dizili bir foreach döngüsü kullanma örneği

Bu örnekte, sayısal değerlere sahip beş elemanlı bir dizi oluşturacağız. PHP foreach döngüsü daha sonra bu diziyi yinelemek için kullanılacaktır. Foreach döngüsünün içinde, dizinin değerlerini yazdırmak için echo kullandık:

Demoyu ve kodu görüntüle

Anahtarlar ve dizi değerleriyle örnek

Bu örnek, PHP foreach döngüsünü kullanmanın başka bir yolunu açıklar. Bunun için üç elemanlı bir ilişkisel dizi oluşturduk. Çalışanların isimlerini içerir ( anahtar olarak) ve miktar ücretler (değerler olarak):

Demoyu ve kodu görüntüle

Bir foreach döngüsünde bir dizi öğesinin değerini değiştirme örneği

Ayrıca PHP kullanarak dizi foreach dizi öğelerinin değerlerini değiştirebilirsiniz. Bunu yapmak için, değişken değeri için "$"dan önce "&" kullanın. Örneğin:

& $ value_of_element

Değer değiştirilecektir. Daha açık hale getirmek için aşağıdaki örneği inceleyin.

Bu örnekte, beş elemanlı bir sayısal dizi oluşturduk. Bundan sonra, elementlerin değerlerini görüntülemek için bir foreach döngüsü kullandık.

Daha sonra $ value_of_element'den önce "&" ifadesinin eklendiği başka bir foreach döngüsü oluşturduk. Kıvrımlı parantezlerin içinde dizi elemanlarına yeni değerler atarız.

Yeni değerler atamadan önceki ve sonraki farkı görmek için, dizi print_r () işlevi kullanılarak görüntülenir.

Demoyu ve kodu görüntüle

PHP foreach döngüsü ne için kullanılır?

PHP foreach döngüsü bir diziyle çalışmak için kullanılır. Öğelerinin her biri üzerinde yinelenir.

Dizilerle çalışmak için bir for döngüsü de kullanabilirsiniz. Örneğin, bir dizinin uzunluğunu almak için length özelliğini kullanmak ve ardından bunu max operatörü olarak uygulamak. Ancak foreach, dizilerle çalışmak üzere tasarlandığından bunu kolaylaştırır.

MySQL ile çalışıyorsanız, bu döngü bunun için daha da uygundur. Örneğin, bir veritabanı tablosundan birden çok satır seçebilir ve bunları bir diziye iletebilirsiniz. Bundan sonra, bir foreach döngüsü kullanarak dizinin tüm öğelerini yineleyin ve bazı eylemler gerçekleştirin.

Bir dizi veya yalnızca bir nesne ile bir foreach döngüsü kullanabileceğinizi unutmayın.

foreach döngüsü kullanma

PHP'de PHP foreach döngüsünü kullanmanın iki yolu vardır. Her ikisi de aşağıda açıklanmıştır.

  • İlk kullanım yönteminin sözdizimi şöyledir:

foreach ($ değeri olarak $ dizi_adı) (echo $ değeri)

Bu durumda, dizinin adını ve ardından değişken $ değerini belirtmeniz gerekir.

Her yineleme için, geçerli öğenin değeri, $ değer değişkenine atanır. Yinelemenin tamamlanmasının ardından, değişkene bir sonraki öğenin değeri atanır. Ve böylece dizinin tüm elemanları numaralandırılana kadar.

  • İkinci yöntemin sözdizimi ( anahtar değer olarak PHP foreach):

Bu, anahtar/değer çiftlerini kullanan ilişkisel diziler için uygundur.

Her yineleme sırasında, geçerli öğenin değeri, $ value_of_element değişkenine atanacaktır. Ayrıca, öğe anahtarı $ key_of_element değişkenine atanır.

Sayısal dizilerle çalışıyorsanız, öğe tuşları gerektirmeyen ilk yöntemi kullanabilirsiniz.

Bu yayın makalenin bir çevirisidir " PHP foreach döngüsü onu kullanmanın 2 yolu"Güleryüzlü proje ekibi tarafından hazırlanmıştır.

foreach yapısı, bir dizinin öğeleri üzerinde yinelemeyi kolaylaştırmak için dile dahil edilen bir türdür. foreach komutunun iki çeşidi vardır. farklı şekiller diziler:

foreach ($ öğesi olarak dizi) (

foreach ($ anahtarı olarak dizi => $ öğesi) (

Örneğin, aşağıdaki parçacığı yürütürken:

$ menü = аrrау ("makarna", "biftek", "patates", "balık", "patates kızartması");

foreach ($ menü olarak $ öğesi) (

"$ öğeyi yazdır
";

aşağıdaki çıktı görüntülenecektir:

Bu örnekte iki şeye dikkat edilmelidir. İlk olarak, foreach yapısı otomatik olarak dizinin başına döner (bu, diğer döngü yapılarında olmaz). İkincisi, sayacı açıkça artırmaya veya dizideki bir sonraki öğeye geçmeye gerek yoktur - bu, her foreach yinelemesinde otomatik olarak gerçekleşir.

İle çalışırken ikinci seçenek kullanılır ilişkisel diziler:

$ wine_inventory = dizi (

"merlot" => 15,

"zinfandel" => 17,

"sauvignon" => 32

foreach ($ wine_inventory as $ i => $ item_count) (

"$ item_count şişe kalan $ i'yi yazdır
";

Bu durumda, sonuç şöyle görünür:

15 şişe merlot kaldı

17 şişe zinfandel kaldı

32 şişe sauvignon kaldı

Yukarıdaki örneklerden de görebileceğiniz gibi, foreach yapısı dizilerle çalışmayı çok daha kolay hale getiriyor.

Anahtar yapısının çalışma prensibi, bir ifadeyi değerlendirirken elde edilen sonuç, olası eşleşmeler listesine göre kontrol edilirken elde edilen sonuç ile biraz benzerdir.

Bu, özellikle birden çok değeri kontrol ederken kullanışlıdır, çünkü switch kullanmak programı daha açıklayıcı ve kompakt hale getirir. Bir geçiş komutunun genel biçimi şudur:

geçiş (ifade) (

durum (koşul):

durum (koşul):

Kontrol edilen koşul, aşağıdakilerden sonra parantez içinde belirtilir: anahtar kelime değiştirmek. Hesaplamanın sonucu, vaka bölümlerindeki koşullarla sırayla karşılaştırılır. Bir eşleşme bulunursa, ilgili bölümün bloğu yürütülür. Eşleşme bulunamazsa, isteğe bağlı varsayılan bölüm bloğu yürütülür.

İlerleyen bölümlerde göreceğiniz gibi, PHP'nin güçlü yönlerinden biri kullanıcı girdisini işlemesidir. Diyelim ki program birkaç seçenek içeren bir açılır liste gösteriyor ve listenin her satırı, programda yürütülen bazı komutlara karşılık geliyor. ayrı tasarım durum. Switch komutunu kullanarak uygulamayı oluşturmak çok uygundur:

$ user_input = "tarifler"; // Kullanıcı tarafından seçilen komut

geçiş ($ user_input):

durum ("arama"):

print "Bir arama yapalım!";

case ("sözlük"):

print "Hangi kelimeye bakmak istersiniz?";

vaka ("tarifler"):

print "İşte tariflerin listesi ...";

print "Menü burada ...";

Yukarıdaki parçadan da görebileceğiniz gibi, switch komutu, kodun açık ve sezgisel bir organizasyonunu sağlar. switch yan tümcesinde belirtilen değişken (bu örnekte, $ user_input), sonraki tüm durum bölümlerinin koşullarıyla karşılaştırılır. Durum bölümünde belirtilen değer, karşılaştırılan değişkenin değeriyle eşleşirse, bu bölümün bloğu yürütülür. break ifadesi, daha fazla vaka bölümünün kontrol edilmesini engeller ve switch ifadesini sonlandırır. Kontrol edilen koşullardan hiçbiri karşılanmazsa, isteğe bağlı varsayılan bölüm çağrılır. Varsayılan bölüm yoksa ve koşullardan hiçbiri karşılanmıyorsa, switch komutu basitçe sona erer ve program yürütme bir sonraki komutla devam eder.

Vaka bölümünde herhangi bir break ifadesi yoksa (bir sonraki bölüme bakın), bir break ifadesiyle karşılaşılıncaya veya bir switch ifadesinin sonuna ulaşılıncaya kadar switch yürütmesinin bir sonraki ifadeyle devam ettiğini unutmamalısınız. Aşağıdaki örnek, unutulan bir break komutunun kaçırılmasının sonuçlarını göstermektedir: $ value = 0.4;

geçiş ($ değeri):

print "değeri 0,4
";

print "değeri 0.6
";

print "değeri 0.3
";

print "Bir değer seçmediniz!";

Sonuç şöyle görünür:

Bir break komutunun olmaması, eşleşmenin bulunduğu bölümde yalnızca print komutunun değil, aynı zamanda bir sonraki bölümdeki print komutunun da yürütülmesine neden oldu. Ardından, switch ifadelerinin yürütülmesi, ikinci print ifadesinin ardından switch ifadesi tarafından kesintiye uğradı.

Anahtar ve if komutları arasındaki seçimin, programın performansı üzerinde pratikte hiçbir etkisi yoktur. Bunu veya bu yapıyı kullanma kararı, programcının kişisel bir meselesidir.

break ifadesi, bulunduğu while, for veya switch ifadesinin yürütülmesini hemen keser. Bu komuttan önceki bölümde bahsedilmiştir, ancak mevcut döngünün kesilmesi, break komutunun yeteneklerini tüketmez. V Genel görünüm break sözdizimi şöyle görünür:

İsteğe bağlı parametre n, break komutu tarafından sonlandırılacak kontrol yapılarının seviyelerinin sayısını belirtir. Örneğin, iki while deyimi içinde bir break iç içeyse ve 2 sayısı break'den sonraysa, her iki döngüden de hemen çıkılır. n için varsayılan değer 1'dir; bir seviyeye gitmek, ya 1'in açık bir göstergesi ile ya da bir parametre olmadan break komutunun bir göstergesi ile belirtilebilir. i f komutunun, break komutu tarafından kesintiye uğratılan kontrol yapılarından biri olmadığını unutmayın.

Her biri için ... VBA Excel'deki sonraki döngü, sözdizimi ve bağımsız bileşenlerin açıklaması. For Her ... Sonraki döngüyü kullanma örnekleri.

For Her ... VBA Excel'deki Sonraki döngü, bir grup öğeden (aralık, dizi, koleksiyon) her öğeye göre bir ifade bloğu yürütmek için tasarlanmıştır. Bu harika döngü, bir gruptaki öğelerin sayısı ve bunların indekslenmesi bilinmediğinde kullanılır, aksi takdirde kullanılması tercih edilir.

Her biri için ... Sonraki Döngü Sözdizimi

Her öğe için Grupta [ifadeler] [Çıkış] [ifadeler] Sonraki [eleman]

Köşeli parantezler, For Her ... Sonraki döngüsünün isteğe bağlı özniteliklerini gösterir.

Her biri için ... Sonraki Döngü Bileşenleri

*Eğer Döngü için Her ... Sonraki, VBA Excel'de bir koleksiyonun (Koleksiyon nesnesi) veya dizinin öğelerini, ardından değişkeni geçmek için kullanılır. eleman veri türü ile bildirilmelidir varyant aksi halde döngü çalışmayacaktır.

**Kodunuzu döngü içinde kullanmazsanız, döngü kullanmanın anlamı kaybolur.

Her Biri İçin ... Sonraki Döngü Örnekleri

Bir hücre aralığı için döngü

Bir Excel çalışma kitabının etkin sayfasında bir hücre aralığı seçin ve aşağıdaki yordamı çalıştırın:

Sub test1 () Dim element As Range, a As String a = "Veri tarafından alınan For Her ... Sonraki:" Seçimdeki Her öğe için a = a & vbNewLine & "Cell" & element.Address & _ " şunları içerir: değer: "& CStr (element.Value) Sonraki MsgBox a End Sub

MsgBox bilgi penceresi, seçilen hücrelerin adreslerini ve varsa içeriklerini görüntüler. Çok sayıda hücre seçilirse, parametrenin maksimum uzunluğu nedeniyle tüm hücrelerle ilgili tam bilgiler görüntülenmez. Çabuk yaklaşık 1024 karakterdir.

Sayfa toplama döngüsü

Aşağıdakileri kopyalayın VBA prosedürü Excel çalışma kitaplarına:

Sub test2 () Dim element As Worksheet, a As String a = "Bu kitapta bulunan çalışma sayfalarının listesi:" Çalışma Sayfalarındaki Her element için a = a & vbNewLine & element.Index _ & ")" & element.Name Sonraki MsgBox a Alt Bitiş

MsgBox bilgi penceresi, Excel çalışma kitabının tüm sayfalarının adlarının bir listesini, dizinlerine karşılık gelen sekmelerinin sıra sayısına göre görüntüler.

Bir dizi için döngü

Diziye hayvan isimlerinin bir listesini atayın ve For Her ... Sonraki döngüde bunları bir değişkene yazın a... Bilgi penceresi MsgBox, bir değişkenden hayvan adlarının bir listesini görüntüler. a.

Alt test3 () Dim element As Variant, a As String, grup As Variant grup = Array ("hippopotamus", "fil", "kanguru", "kaplan", "fare") " sayfası, örneğin seçili olan: grup = Seçim a = "Dizi aşağıdaki değerleri içerir:" & vbNewLine Her eleman için Grup a = a & vbNewLine & element Sonraki MsgBox a End Sub

Aynı VBA prosedürünü tekrarlayalım, ancak For Her ... Sonraki döngüsündeki tüm dizi öğelerini Parrot'a ayarlayalım. MsgBox bilgi penceresi, yalnızca papağanlardan oluşan ve For Her ... Sonraki döngüsünde dizi öğelerinin değerlerini düzenleme olasılığını kanıtlayan bir hayvan adları listesi görüntüler.

Alt test4 () Dim element As Variant, a As String, grup As Variant grubu = Dizi ("su aygırı", "fil", "kanguru", "kaplan", "fare") " sayfası, örneğin seçili olan: group = Seçim a = "Dizi aşağıdaki değerleri içerir:" & vbNewLine Her öğe için Grup öğesinde = "Parrot" a = a & vbNewLine & öğe Sonraki MsgBox a End Sub

Bu kod, bu makaledeki diğer her şey gibi, Excel 2016'da test edilmiştir.

Alt dizinlerin toplanması için döngü yapın ve döngüden çıkın

Bu örnekte, değişkene ekleyeceğiz a diskteki alt dizinlerin adları C senin bilgisayarın. Döngü klasöre ulaştığında Program dosyaları, değişkene ekleyecektir a adı ve mesajı: “Yeter, daha fazlasını okumayacağım! Saygılarımızla, Her Biriniz İçin ... Sonraki döngü. "

Sub test5 () Dim FSO As Object, myFolders As Object, myFolder As Object, a As String "Yeni bir FileSystemObject oluşturun ve bunu" FSO "değişkenine atayın Set FSO = CreateObject (" Scripting.FileSystemObject ")" Listesini ayıklayın "C" diskindeki alt dizinleri bulun ve "myFolders" değişkenine atayın myFolders = FSO.GetFolder ("C: \") a = "C diskindeki klasörler:" & vbNewLine "Alt dizinler listesinde dolaşın ve "a "" değişkeninin adlarını "Program Files" klasörüne ulaştıktan sonra, döngüden çıkın For Her myFolders içinde myFolders.SubFolders a = a & vbNewLine & myFolder.Name myFolder.Name = "Program Files" O zaman a = a & vbNewLine & vbNewLine & "Yeter, okumaya devam etmeyeceğim! "_ & vbNewLine & vbNewLine &" Saygılar, "& vbNewLine & _" Her Biriniz İçin ... Sonraki döngü. "Bir Sonraki Sette Sondan Çık FSO = Hiçbir Şey MsgBox bir Bitiş Alt

Bilgi penceresi MsgBox, diskteki alt dizinlerin adlarının bir listesini görüntüler. C bilgisayarınızı klasöre Program dosyaları kapsayıcı ve işin sona ermesiyle ilgili döngünün mesajı.

Sonuç olarak, program yalnızca gezginde diske giderken görünen alt dizinlerin adlarını göstermeyecektir. C, aynı zamanda gizli ve hizmet klasörleri. Diskteki tüm alt dizinlerin listesini görüntülemek için C, kod bölümünü şuradan yorumlayın: Eğerönce Bitir dahil edin ve prosedürü VBA Excel düzenleyicisinde çalıştırın.