Hücre olayları. Excelde Şifreleme


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Kapat As String
Kapat = MsgBox("Kapatmak istediÄŸinizden Eminmisiniz", _
vbYesNo, "KAPAT")
If Kapat = vbNo Then
Cancel = True 'kayıt işlemini iptal et
MsgBox ("Kapatma iÅŸlemi iptal edildi")
Else
MsgBox ("dosyanız kapanıyor")
End If
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim yazdir As String
yazdir = MsgBox("Yazdırmak İstediğinizden Eminmisiniz", _
vbYesNo, "Yazdır")
If yazdir = vbNo Then
Cancel = True
MsgBox ("Yazdırma İşlemi İptal Edildi")
Else
MsgBox ("Yazdırma İşlemi Başarı ile Tamamlanmıştır")
End If
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Kaydet As String
Kaydet = MsgBox("Kaydetmek istediÄŸinizden Eminmisiniz", _
vbYesNo, "KAYDET")
If Kaydet = vbNo Then
Cancel = True 'kayıt işlemini iptal et
MsgBox ("Kayıt işlemi iptal edildi")
Else
MsgBox ("kaydetme İşlemi başarıyla tamamlandı")
End If
End Sub
Private Sub Workbook_NewSheet(ByVal Sh As Object)
MsgBox ("Dosyanıza yeni bir sayfa eklediniz ")
MsgBox ("Toplam Sayfa Sayınız " _
& Workbooks.Application.Sheets.Count & " Adettir,")
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox ("Sayfa DeÄŸiÅŸtirdiniz")
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Target.Column = 4 Then 'ikinci sutunsa
Cancel = True
End If
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Target.Column = 4 Then '4. sütunsa
Cancel = True 'menünün açılmasını engelle
End If
End Sub
Private Sub Workbook_WindowResize(ByVal Wn As Window)
MsgBox ("Sayfanızın boyutu değişti")
End Sub
(Kaydetmek için; Araçlar menüsünden önce Makro'yu sonra Yeni Makro Kaydet'i tıklatın)
Sub Recorded_Macro()
'
' Macro recorded 30.06.97
'
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub
Sub For_Each_Next_Sample()
'
' Macro recorded 30.06.97
'
For Each cell_in_loop In Range("A1:A5")
If cell_in_loop.Value > 20 Then
With cell_in_loop.Offset(0, 1).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
End Sub
Sub For_Next_Sample()
For Counter = 0 To 9
If Selection.Offset(Counter, 0).Value > 20 Then
With Selection.Offset(Counter, 1).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
End Sub
Sub Do_Loop_Sample() Counter = 0
Do Until Selection.Offset(Counter, 0).Row > 100
If Selection.Offset(Counter, 0).Value > 20 Then
With Selection.Offset(Counter, 1).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Counter = Counter + 1
Loop
Not: Üç tane daha kullanılan Do…Loop döngüsü vardır. ÇeÅŸitli formlar, deÄŸiÅŸik durumlarda daha fazla esneklik saÄŸlar.
‘/, Tek tek sayfaların 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
Visual Basic ya da Visual Basic Application kullanılarak yazılan bir kod için değişken tanımlama zorunluluğu yoktur. Değişken tanımlaması programınızın hızı açısından önem arz etmektedir. Visual Basic Application tanımlanan değişkenler için hafızadan gerektiği kadar yer ayırır. Tanımlanmayan veya boyut bildirilmeyen değişkenler hafızanın şişmesine sebep olacaktır, çünkü tanımlanmayan değişkenler hafızayı fazlası ile yorarlar. Bu yorgunluk büyük projelerde kendini hissettirecektir.

Pdf formatındaki dosyayı indirmek için tıklayınız...
Siz değerli Excel dostlarına yıllarca hizmet verdiğimiz ve şu an kapalı bulunan www.kod.gen.tr forum, devamı...