Excel sayfa isimlerini kodlarla listeleme, Köprü Oluşturma



Tek tek sayfaların isimlerini mesaj kutusunda gösterir
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

'==========================================
' Sayfa isimlerini mesaj kutusunda gösterir
'==========================================

    Dim isayfasayisi As Integer
    Dim isayfa As Integer
        isayfasayisi = ActiveWorkbook.Worksheets.Count
        For isayfa = 1 To isayfasayisi
        Worksheets(isayfa).Activate
    MsgBox Worksheets(isayfa).Name
    Next isayfa
End Sub
'==========================================
'Microsoft Visual  Basic Makro Kodu:
'Excel Çalışma Kitabındaki Sayfa İsimlerini A Sütununda Listeleme ve Köprü Oluşturma:
'==========================================

Sub ExcelceSayfaKoprule()
Rem Excelce - Öykü Karaman
For Each sayfa In ThisWorkbook.Worksheets
Range("A1048576").End(xlUp).Offset(1, 0).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=sayfa.Name & "!A1", TextToDisplay:=sayfa.Name
Next sayfa
End Sub

Excel CheckBox’u hücre ile iliÅŸkilendirilmesi


Soru

Arkadaşlar iyi çalışmalar sitenizi yeni buldum ve incelediğim kadarıyla epey faydalı bilgi edinebileceğim bir site benim sorunum ise Sayfaya Eklediğimiz CheckBox ı hücre ile ilişkilendirme yaparak CheckBox a işaret koyduğumuzda ilişkilendirdiğimiz hücrenin içini renklendirmesi bunun gibi yada buna benzer bir makro kodu varmı varsa yardımcı olursanız memnun olurum şimdiden yardımlarınız için teşekkür ederim.
Örnek A:1 hücresinie iliÅŸkilendireceÄŸimiz bir CheckBox’ı iÅŸaretlediÄŸim zaman A:1 hücresi kırmızı olacak.

Cevap

Private Sub CheckBox1_Click()

'==========================================
'Excel CheckBox’u hücre ile iliÅŸkilendirilmesi
'==========================================

If CheckBox1.Value = True Then
    Range("A1").Interior.Color = vbRed
    Range("A1").Font.Color = vbYellow
Else
    Range("A1").Interior.ColorIndex = xlNone
    Range("A1").Font.Color = vbBlack
    End If
End Sub
Örnek dosyayı indirmek için tıklayınız.

Excel matematik fonksiyonları


Matematik Fonksiyonları
Avarage(Ortalama)
Tablonuzda seçmiş olduğunuz toplu değerlerin ortalamasını hesaplattırabilirsiniz. Şimdi Mousu sonucun hesaplanacağı hücreye tıklayın. Yukarıdaki adımları izleyeren aşağıdaki pencelerin açılmasını izleyin.

Not: Daha sonraki adımlarda fonsiyonlara sürekli bu adımlarla erişebilirsiniz.
Tamam butonuna tıkladıktan sonra karşınıza aşağıdaki ekran açılacaktır. Buradan gerekli olan değerleri seçin

Bu örnekteki tablomuzda ?Ortalama Not? değerini ?A5? hücresine yazmış olduğumuz
"=AVARAGE(A2:A4)" Türkçesi = "=ORTALAMA(A2:A4)"
?formulle hesaplattık.


Count(Say) fonksiyonu
Bu fonksiyon seçilen aralıkta kaç hücrenin seçildiğinin sonucunu verir. İsterseniz birden fazla satır veya sütun seçerek hepsinin hücre toplamını bulabilirsiniz.

MACROLARLA HÃœCRE DEÄžERÄ°NÄ°N KULLANILMASI

Oluşturacağınız makrolar içerisinde excel hücre değerelerini kullanacak, veya bulmuş olduğunuz bilgileri Excel hücrelerine göndereceksiniz. Şimdi bu işlemleri nasıl gerçekleştireceğinizi örneklerle açıklayalım.

A1 hücresine www.kod.gen.tr yazalım ve Tıkla isimli buton ekleyip aşağıdaki ?okuyucu? isimli makromuzu, oluşturduğumuz butona atayıp, hücre değerini mesaj kutusunda kullanıcıya iletelim.


Aşağıdaki kodu Alt + F11 ile vba yı açalım Insert > Module ile müdül ekleyelim ve aşağıdaki kodu yazalım.

Sub okuyucu()
Dim oku As String
Oku = Range(?A1?).value
MsgBox oku
End Sub
Makromuza bir satır ekleyerek, mesaj kutusundaki değeri istediğimiz hücreye yazdırabiliriz.
Bu örneğimizde mesaj kutusundaki değeri A2 hücresine yazdıralım.
Sub okuyucu()
Dim oku As String
oku = Range("A1").Value
MsgBox oku
Range("A2").Value = oku
End Sub

Aralıklar, Hücre Seçim İşlemleri

Aşağıdaki ifade, aktif hücreden, aktif hücrenin 2 satır aşağısını ve 5 sütun sağındaki hücreleri seçecektir.
Range(ActiveCell, ActiveCell.Offset(2, 5)).Select
Sub aralik()
Dim Aralığım AsRange
Set Aralığım =Range(“A1”)
Aralığım = “www.kod.gen.tr”
Aralığım.Font.Bold = True
Aralığım.Font.Color = vbGreen
Set Aralığım =Nothing
End Sub
Sub withkullan()
‘with yapısını kullanmayı öğreniyoruz
WithRange(“a1”)
.Font.Bold = True
.Font.Color = vbRed
End With
End Sub
Sub aralıklarım()
‘Range özelliÄŸinin çeÅŸitli kullanımlarınıöğreniyoruz
‘A1:C3 aralğını seçer. Range özelliÄŸini bubiçimi ile _
2 bağımsız değişken kullandık

Range(“A1″,”C3”).Select
‘Aktif hücre ile b6 aralğını seçer
Range(ActiveCell, “B6”).Select
‘B3:C8 aralığını seçer
Range(“B3:C8”).Select
‘Belirtilen aralığa bir ad verir
Range(“B2”, “E4”).Name= “Ä°ÅŸlemAralığım”
ad verdiğimiz aralığı seçtik
Range(“Ä°ÅŸlemAralığım”).Select
Range(“B2”).Select

‘Excel c3 hücresini seçer. Excel ActiveCellözelliÄŸiyle döndürülen _
range nesnesini, yani B2 hücresinibaşlangıç noktası olarak kullanı.

ActiveCell.Range(“b2”).Select
Range(“Ä°ÅŸlemAralığım”).Range(“A1”).Select
End Sub
Sub koleksiyonOlarakRangeKullan()
‘*****************************************************************
‘Excelin aralğıkoleksiyon olarak gören üç özelliÄŸi vardır: _
Cells özelliğihücreler koleksiyonu, Rows Özelliği satırlar _
koleksiyonunu veColumns özelliği sütunlar koleksiyonunu döndürür.

‘*****************************************************************
Dim Aralığım AsRange
‘B2:E4 aralğınıAralğım deÄŸiÅŸkenine atadır.
Set Aralığım =Range(“B2:E4”)
‘Aralğımı daha kolaygörünmesi için renklendirdik.
Aralığım.Interior.Color= vbYellow
‘aralğın ilksatırındaki dördüncü hücreyi, E2 hücreni seçtik
Aralığım.Cells(1,4).Select
‘Koleksiyonunaltıncı öğesi olan c3 hücresini seçer
Aralığım.Cells(6).Select
‘*****************************************************************
‘Bu bildiri cellsözelliÄŸini iki kez kullanır; _
önce aralıktakihücre sayısını bulmak için, sonra _
da son hücreyiseçmek için. Aralıkta 12 hücre vardır. _
koleksiyonun 12.öğesi üçüncü satırdaki dördüncü hücredir
Aralığım.Cells(Aralığım.Cells.Count).Select
‘*****************************************************************
‘Excel Çalışmasayfasındaki en son hücreyi seçer. Cells özelliÄŸi _
önünde bir Rangenesnesi olmadan kullandığınızda (yani genel cells _
özelliğinikullandığınızda), etkin çalışma sayfasındaki tüm hücre _
koleksiyonunudöndürür. Bildiri, Çalışma sayfası üzerindeki 65536. _
hücreyi seçer.

Cells(Cells.Count).Select
‘*****************************************************************
‘Aralğımın 2. satırıolan B3:E3 aralğını seçer
Aralığım.Rows(2).Select
‘Aralğın son sütunuolan E2:E4 aralğını seçer
Aralığım.Columns(Aralığım.Columns.Count).Select
‘Genel columnsözelliÄŸi tüm çalışma sayfasını bir aralık olarak kullanır.
Columns(2).Select
‘Columns(3)
‘Columns(“D”)
‘kullanarak columnskoleksiyonundan bir öğ belirleyebilirsiniz
End Sub
Sub izle()
Dim Aralığım AsRange ‘C4:E5 aralğınıAralğım deÄŸiÅŸkenine atadı.
Set Aralığım =Range(“C4:E5”)
‘Aralğımı daha kolaygörünmesi için renklendirdik.
Aralığım.Interior.Color= vbYellow
‘(“C5:E6”)aralığını,sarı aralıktan bir hücre aÅŸağısını seçer. Öffset _
Özelliği ikibağımsız değişken alır. İlki bavuruyu aşağı kaydırmak için _
satır sayısıdır. 2.sağa kaydırmak için sütun sayısıdır.
Aralığım.Offset(1,0).Select
‘Aralğımla aynıboyutta ve ona bitiÅŸik olan F4:H5 Aralğını seçer. _
Kendinizi aralığınsol üst hücresinde otururken düşünün. Aralığımda üç _
sütun olduğu içinileri doğru üç adım atın. Bu yeni başvuru için başlangıç _
hücresidir.

Aralığım.Offset(0,Aralığım.Columns.Count).Select
‘Excel Aralğımdan bir sütün daha geniÅŸ olan C4:F5 aralığını seçer. Resize özelliÄŸi _
yenidenboyutlandırılmış bir aralık döndürür. İlk bağmsız değişken, yöne başvurudaki _
satır sayısı,ikincisi ise sütun sayısıdır. Satır yada sütunları özgün aralıktakiyle _
aynı bırakmak için,karşılğı olan bağımsız deişkeni boş bırakın (Ama ilk bağmsız _
deişkeni boşbırakıyorsanız virgül koyun).

Aralığım.Resize(,4).Select
‘Excel özgün aralıktan her yönde bir hücredaha büyük bir dikdörtgen _
seçer. Offsetözelliği başlangıç noktasını bir hücreyukarı ve bir _
hücre sola doğrukaydırır. Resize özelliği yeni aralığı özgün olandan _
iki hücre daha uzunve iki hücre daha geniş yapar.

Aralığım.Offset(-1,-1).Resize(Aralığım.Rows.Count + 2, _
Aralığım.Columns.Count + 2).Select
‘Excel 4. satırıntümünü seçer. Aralığım deÄŸiÅŸkeni C4:E5 aralığına bir _
başvuru döndürür.Cells Özelliği, o aralığın ilk hücresini (sol üstteki), _
C4’ü döndürür.EntireRow özelliÄŸi, o baÅŸvuruyu satır 4’ün tümünü içeren _
biçimde genişletir.Zincirdeki tüm özellikler; başka bir nesneye başvuru _
döndürür. asıl işiyapan sonundaki select yönteminde ulaşana kadar _
bu böyle sürer

Aralığım.Cells(1).EntireRow.Select
‘C:E sütunlarınıntümünü seçer
Aralığım.EntireColumn.Select
‘Excel A1:D4aralığını seçer. CurrentRegion özelliÄŸi, seçimi boÅŸ hücreler _
le yada çalışmasayfasının kenarlarıyla sınırlı bir dikdörtgen oluşturmak _
üzere genişletir.

Aralığım.CurrentRegion.Select
‘EntireRow, EntireColumn ve CurrentRegion özellikleriyle beraber Offset _
ve Resize özellikleri, özgün bir başlangıç aralğına dayalı yeni Range _
nesneleri hesaplamanız için size esnek araçlar sağlar.

End Sub
VALUE Özelliği herzaman bir hücredeki sayının biçimlendirilmemiş _
değerini verir. Bir hücrenin, biçimlendirilmemiş değeri veren bir _
de Text özelliği vardır. Text Özelliği salt okunur çünkü value ve _
NumberFormat özelliklerinin bir birleşkesidir.

Excel sayfa koruma kodları

Sub sayfalarıkoru()
'Sadece Sayfa1 i koruyan kodlar
Dim Sayfam As Worksheet
Set Sayfam = Worksheets(1)
Sayfam.Select
Sayfam.Protect "kabatashaber", True, True, True 'Parolayı kabatashaber olarak yazdık
End Sub
Sub sayfalarıkoru1()
'tüm Sayfaları şifreleme FOR EACH döngüsünü kullanmak
Dim Sayfam As Worksheet
For Each Sayfam In Worksheets ' Set yerine FOR Each yazdık _ 'eşitti imi yerine de in yazdık parantezi ve içindeki sayıyı kaldırdık
Sayfam.Select 'Bu bildiriyi yazmaya gerek yoktur sadece yapılan işmelrin gözükmesi için yazdık
Sayfam.Protect "kabatashaber", True, True, True
Next Sayfam
End Sub
Sub Sayfakorumalarını_kaldır()
Dim Sayfam As Worksheet
For Each Sayfam In Worksheets
Sayfam.Select 'Bu bildiriyi yazmaya gerek yoktur sadece yapılan işmelrin gözükmesi için yazdık
Sayfam.Unprotect "kabatashaber"
Next Sayfam
End Sub
‘NOT FOR EACH DÖNGÃœSÃœ YANLIZCA BÄ°R KOLEKSÖYONDA DÖNER Ä°KÄ° PARALEL KLEKSÄ°YONU (ÖRNEĞİN Ä°KÄ° ARALIÄžI ) KARÅžILTIRAMAZ ‘BUNUN İÇİN (Ä°KÄ° ARALIÄžI KARÅžILAÅžTIRMA İÇİN Ä°SE FOR NEXT DÖNGÃœSÃœNÃœ KULLANMALIYIZ