• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Çözüldü Aktif hücrenin bir önceki satır ve sütun numarasını alma

  • Konbuyu başlatan Konbuyu başlatan Zahir
  • Başlangıç tarihi Başlangıç tarihi
Katılım
21 Mart 2006
Mesajlar
234
Excel Vers. ve Dili
Excel 2003 - İngilizce
Merhaba;
Aşağıdaki kodda aktif hücrenin bir sütun gerisinin değerini almak istiyorum. Ancak hata alıyorum. Görünüşte mantık hatası görmüyorum. Bu sorunu nasıl çözebiliriz.
Teşekkürler

Sub Planlama()

Dim Kod As Integer
Dim adet As Integer

x = ActiveCell.Row
y = ActiveCell.Column

Kod = Cells(x, y)
adet = Cells(x , y - 1) // Burada hata alıyorum
MsgBox (Kod )
MsgBox (adet )

End Sub
 
Merhaba,
Aktif hücreniz A kolonunda ise hata verir. Aşağıdaki kodu dener misiniz?
Kod:
Sub Planlama()
Dim Kod As Integer
Dim adet As Integer
    x = ActiveCell.Row
    y = ActiveCell.Column
   
    Kod = Cells(x, y)

    If y = 1 Then
        MsgBox "A sütunundasınız, Bir önceki sütun yok"
        Exit Sub
    End If
   
    adet = Cells(x, y - 1)  '// Burada hata alıyorum
    MsgBox (Kod)
    MsgBox (adet)
End Sub
 
Merhaba
Aktif hücre 2.satırın 10.sütununda. Sanırım böyle bir sorun teşkil etmeyecektir.
 
Merhaba
Aktif hücre 2.satırın 10.sütununda. Sanırım böyle bir sorun teşkil etmeyecektir.

Ben denedim sorun teşkil etmedi. :)
Sorun // Burada hata alıyorum ifadesini başında tek tırnak olamaması olabilir mi?
Bunun dışında sizin kodunuzda sorun yok. Ben sadece ilk kolon ("A" sütunu) için kontrol kodu ve // Burada hata alıyorum ifadesinin başına tek tırnak ekledim.
 
Son düzenleme:
Merhaba,

@dEdE'nin belirttiği hatanın dışında ek olarak aşağıdaki sorun olabilir.

Aktif hücrenin bir sütun gerisinde bulunan hücrede METİNSEL ifade varsa en başta yaptığınız Dim ile başlayan satırı revize etmeniz gerekir. Veri tipi belli değilse Variant olarak tanımlayabilirsiniz.
 
Merhaba;
Değerli vaktinizi aldığım için kusura bakmayın. Sayın @dEdE'nin kodda sorun yok demesiyle ve Sayın Korhan Ayhan veri tipi sorununa işaret edince sorunu çözdüm. Ben aynı zamanda c# ile program yazdığım için c#'taki veri tipi olan int ile VBA daki integerin aynı değer aralıklarını kapsadığını düşündüm. Hücredeki 115.200 rakamı İntegerin vari aralığını aşması sebebiyle bu hatayı alıyormuşum. :)
Tekrar kusura bakmayın. Emeğiniz için teşekkür ederim.
 
Geri
Üst