Excell dosyasında hata alıyorum.

Katılım
11 Şubat 2017
Mesajlar
50
Beğeniler
0
Excel Vers. ve Dili
yok
#1

dalgalikur

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
1,994
Beğeniler
206
Excel Vers. ve Dili
2007-2013
#2
Merhaba.

Hata veren kod satırı
"Not" adlı sayfanın "J2" hücresinde bulunan veri "Data" adlı sayfanın "E1:E1000" hücre aralığında sayma işlemi yapıyor.
Sizin dosyanızda "J2" hücresi boş olduğundan hata veriyor.

"Not adlo sayfanın kod bölümüünde bulunan

Kod:
    Range("K2") = Target.Value
    Range("J2") = Target.Offset(0, -1)
bu iki satırı match fonksiyonu içeren ve hata veren satırın üstüne alırsanız hata vermeyecektir.
Yeni kodlar şöyle olacak.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.CountLarge > 1 Then Exit Sub
    If Intersect(Target, Range("C4:C63")) Is Nothing Then GoTo 10
    If Target = "" Then Exit Sub
    Range("K2") = Target.Value
    Range("J2") = Target.Offset(0, -1)
    Set d = Sheets("Data")
    sat = WorksheetFunction.Match(Range("J2"), d.Range("E1:E1000"), 0)
    If Range("J4") = "" Then GoTo 15
    süt = WorksheetFunction.Match(Range("J4"), d.Range("A2:AJA2"), 0)
    d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)) = d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)).Value
15
    If Range("J4") = "" Then GoTo 10
    sat = WorksheetFunction.Match(Range("J2"), d.Range("E1:E1000"), 0)
    süt = WorksheetFunction.Match(Range("J4"), d.Range("A2:AJA2"), 0)
    Range("Q5:Q104") = Application.Transpose(d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)))
    Range("K5:K104") = "=IF($Q5="""","""",IF($Q5=0,""x"",""""))"
    Range("L5:N104") = "=IF($Q5=COLUMN()-10,""x"","""")"
    Range("K5:N104") = Range("K5:N104").Value
    d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)) = "=OFFSET(Not!$P4,COLUMN(A1),0)"
10
    If Intersect(Target, Range("E4:E13")) Is Nothing Then GoTo 20
    If Target = "" Then Exit Sub
    Set d = Sheets("Data")
    If Range("J2") = "" Or Range("J4") = "" Then GoTo 25
    sat = WorksheetFunction.Match(Range("J2"), d.Range("E1:E1000"), 0)
    süt = WorksheetFunction.Match(Range("J4"), d.Range("A2:AJA2"), 0)
    d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)) = d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)).Value
    d.Range(d.Cells(3, süt), d.Cells(3, süt + 99)) = d.Range(d.Cells(3, süt), d.Cells(3, süt + 99)).Value
25
    Range("J4") = Target.Value
    x = (Target.Row - 3) * 100 - 63
    Range("J5:J104") = Application.Transpose(d.Range(d.Cells(3, x), d.Cells(3, x + 99)))
    sat = WorksheetFunction.Match(Range("J2"), d.Range("E1:E1000"), 0)
    süt = WorksheetFunction.Match(Range("J4"), d.Range("A2:AJA2"), 0)
    Range("Q5:Q104") = Application.Transpose(d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)))
    Range("K5:K104") = "=IF($Q5="""","""",IF($Q5=0,""x"",""""))"
    Range("L5:N104") = "=IF($Q5=COLUMN()-10,""x"","""")"
    Range("K5:N104") = Range("K5:N104").Value
    d.Range(d.Cells(sat, süt), d.Cells(sat, süt + 99)) = "=OFFSET(Not!$P4,COLUMN(A1),0)"
    d.Range(d.Cells(3, süt), d.Cells(3, süt + 99)) = "=IF(OFFSET(Not!$J4,COLUMN(A1),0)="""","""",OFFSET(Not!$J4,COLUMN(A1),0))"
20
    If Intersect(Target, Range("K5:N104")) Is Nothing Then GoTo 30
    If Cells(Target.Row, 10) = "" Then Exit Sub
    If Target = "" Then
    Range("K" & Target.Row & ":N" & Target.Row) = ""
    Target = "x"
    Else
    Target = ""
    End If
30
End Sub
 
Üst