Çalışma sayfası kod alanına aşağıdaki Olay Makrosunu girin :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A2 As Range
Set A2 = Range("A2")
If Intersect(A2, Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
[A4] = [A2] + [A3]
Application.EnableEvents = True
End Sub
Çalışma sayfası kodu olduğu için kurulumu çok kolaydır ve kullanımı otomatiktir:
- Excel penceresinin altındaki sekme adını sağ tıklatın
- Kod Görüntüle'yi seçin - bu bir VBE penceresi getirir
- öğeleri yapıştırın ve VBE penceresini kapatın
Herhangi bir endişeniz varsa, önce bir deneme çalışma sayfasında deneyin.
Çalışma kitabını kaydederseniz, makro onunla birlikte kaydedilir. Daha sonra 2003'ten sonra bir Excel sürümü kullanıyorsanız, dosyayı .xlsx yerine .xlsm olarak kaydetmeniz gerekir.
Makroyu kaldırmak için:
- VBE pencerelerini yukarıdaki gibi açın
- kodu temizle
- VBE penceresini kapatın
Genel olarak makrolar hakkında daha fazla bilgi için bkz.
http://www.mvps.org/dmcritchie/excel/getstarted.htm
ve
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
Etkinlik Makroları (çalışma sayfası kodu) hakkında daha fazla bilgi için bkz.
http://www.mvps.org/dmcritchie/excel/event.htm
Bunun çalışması için makrolar etkinleştirilmelidir!
DÜZENLEME # 1:
Önce önceki makroyu atın ve bununla değiştirin:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim A2 As Range
Set A2 = Range("A2")
If Intersect(Target, A2) Is Nothing Then Exit Sub
Cancel = True
[A4] = [A2] + [A3]
A2.Font.Bold = True
End Sub
A2'deki çift tıklama davranışını etkiler . Kod, diğer hücreleri veya aralıkları kapsayacak şekilde kolayca genişletilebilir.
DÜZENLEME # 2:
Bu versiyonda çift tıklayarak A2 onaylar A2 . A3'e çift tıklamak A2'yi onaylar :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim A2 As Range, boo As Boolean, A3 As Range
Set A2 = Range("A2")
Set A3 = Range("A3")
If Not Intersect(Target, A2) Is Nothing Then
[A4] = [A2] + [A3]
A2.Font.Bold = True
Cancel = True
End If
If Not Intersect(Target, A3) Is Nothing Then
A2.Font.Bold = False
[A4] = [A3]
Cancel = True
End If
End Sub
DÜZENLEME # 3:
Bu makroyu kullanmak, işlevselliği A sütununun ötesindeki sütunlara genişletir :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rw2 As Range, rw3 As Range, kolumn As Long
Set rw2 = Range("2:2")
Set rw3 = Range("3:3")
kolumn = Target.Column
If Not Intersect(Target, rw2) Is Nothing Then
Cells(4, kolumn) = Cells(2, kolumn) + Cells(3, kolumn)
Cells(2, kolumn).Font.Bold = True
Cancel = True
End If
If Not Intersect(Target, rw3) Is Nothing Then
Cells(2, kolumn).Font.Bold = False
Cells(4, kolumn) = Cells(3, kolumn)
Cancel = True
End If
End Sub