- Katılım
- 3 Mayıs 2020
- Mesajlar
- 2
- Excel Vers. ve Dili
- Excel 2016
Öncelikle merhaba, Henüz yeni yeni Excelde makro uygulamaları eğitimi alıyorum ancak Offset kullanımı iyi anlatılamamış, kullanım amacını ve pekiştereceğim bir kod var mı acaba ?
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:A100]) Is Nothing Then Exit Sub
If Target = "" Then
Target.Offset(0, 3) = ""
ElseIf IsNumeric(Target) Then
Target.Offset(0, 3) = Target * 5
ElseIf Len(Target) >= 3 Then
Target.Offset(0, 3) = Left(Target, 3)
Else
Target.Offset(0, 3) = "Hata"
End If
End Sub
Çok teşekkür ederim, elinize sağlıkOffset bir hücreden belirli sayıda hücre sağa ve aşağıya gitmemizi sağlayan komuttur.
Başlangıç hücresinin adresi Offset(0,0)'dır.
Örneğin A1 hücresinden 3 satır aşağıya ve 2 sütun sağa gitmemizi
[A1].Offset(3,2)
komutu ile sağlarız. Bu komutun karşılığı C4 hücresidir.
Negatif değerler de kullanılabilir. Örneğin D5 hücresinin 2 satır yukarısı ve 1 sütun solu için
[D5].Offset(-2,-1)
komutu ile sağlarız. Bu komutun karşılığı C3 hücresidir.
Örnek olarak aşağıdaki kodu sayfanın kod bölümüne yapıştırırsanız, A sütununa sayı girildiğinde D sütununa 5 katını yazar, metin girildiğinde eğer metin uzunluğu 3 ve fazla ise ilk 3 karakteri yazar, değilse hata yazar, boşsa boş bırakır:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, [A1:A100]) Is Nothing Then Exit Sub If Target = "" Then Target.Offset(0, 3) = "" ElseIf IsNumeric(Target) Then Target.Offset(0, 3) = Target * 5 ElseIf Len(Target) >= 3 Then Target.Offset(0, 3) = Left(Target, 3) Else Target.Offset(0, 3) = "Hata" End If End Sub