If kodlamasında nerde hata yapıyorum?

Katılım
30 Temmuz 2019
Mesajlar
28
Excel Vers. ve Dili
2016 türkçe
Sub a()
Dim i As Long
For i = 1 To 8221


If [Ai].Value = "1" Then
[Ci].Select
Selection.Interior.Color = 222
End If
If [Ai].Value = 2 Then
[Di].Select
Selection.Interior.Color = 333
End If
If [Ai].Value = 3 Then
[Ei].Select
Selection.Interior.Color = 444
End If
If [Ai].Value = 4 Then
[Fi].Select

Selection.Interior.Color = 25318
End If
If [Ai].Value = 5 Then
[Gi].Select

Selection.Interior.Color = 52516
End If
If [Ai].Value = 6 Then
[Hi].Select

Selection.Interior.Color = 221366
End If
If [Ai].Value = 7 Then
[Ii].Select

Selection.Interior.Color = 4782
End If
If [Ai].Value = 8 Then
[Ji].Select

Selection.Interior.Color = 85215
End If
If [Ai].Value = 9 Then
[Ki].Select

Selection.Interior.Color = 36518
End If
If [Ai].Value = 0 Then
[Li].Select

Selection.Interior.Color = 74532


End If
Next i

End Sub


run time error 424 object required hatası alıyorum
 

metehan8001

Yasaklı
Katılım
8 Nisan 2010
Mesajlar
125
Excel Vers. ve Dili
Office 2007 -2016 TR
kod yapınız aşağıdaki gibi olmalı. [Ai] bu hatalı yazım bunun yerine cells(i,"A") şeklinde yazmalısın.

C#:
Sub renlendir()
Dim i As Long
For i = 1 To 8221
If Cells(i, "A").Value = 1 Then Cells(i, "C").Interior.Color = 222
If Cells(i, "A").Value = 2 Then Cells(i, "D").Interior.Color = 333
If Cells(i, "A").Value = 3 Then Cells(i, "E").Interior.Color = 444
If Cells(i, "A").Value = 4 Then Cells(i, "F").Interior.Color = 25318
If Cells(i, "A").Value = 5 Then Cells(i, "G").Interior.Color = 52516
If Cells(i, "A").Value = 6 Then Cells(i, "H").Interior.Color = 221366
If Cells(i, "A").Value = 7 Then Cells(i, "I").Interior.Color = 4782
If Cells(i, "A").Value = 8 Then Cells(i, "J").Interior.Color = 85215
If Cells(i, "A").Value = 9 Then Cells(i, "K").Interior.Color = 36518
If Cells(i, "A").Value = "0" Then Cells(i, "L").Interior.Color = 74532
Next i
End Sub
Döngü ile yapmak istesen:
C#:
Sub exceldestek()
deg = Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
renk = Array(74532, 222, 333, 444, 25318, 52516, 221366, 4782, 85215, 36518)
sut = Array("L", "C", "D", "E", "F", "G", "H", "I", "J", "K")
For a = 1 To Cells(Rows.Count, "A").End(xlUp).Row
    For b = LBound(deg) To UBound(deg)
        If Cells(a, "A") = deg(b) And Cells(a, "A") <> "" Then Cells(a, sut(b)).Interior.Color = renk(b)
Next b, a
End Sub
 
Katılım
30 Temmuz 2019
Mesajlar
28
Excel Vers. ve Dili
2016 türkçe
İyi çalışmalar.
Hocam vaktiniz olunca şuna da bakarmısınız. a1 in ortalaması b1, a1 ve a2 ortalaması b2, a1 a2 a3 ortalaması b3, kodun neresinde hata var?
Sub xyz()
Dim i As Long
Dim toplam As Long
For toplam = 1 To 8221
For i = 1 To 8221
toplam = APPLİCATİON.Sum(Range(i, "B").End(xlUp).Columns)
Average = toplam / i
Cells(i, "B").Select
Selection = Average
Next i
Next toplam
End Sub
 

metehan8001

Yasaklı
Katılım
8 Nisan 2010
Mesajlar
125
Excel Vers. ve Dili
Office 2007 -2016 TR
Hocam vaktiniz olunca şuna da bakarmısınız. a1 in ortalaması b1, a1 ve a2 ortalaması b2, a1 a2 a3 ortalaması b3, kodun neresinde hata var?
Sub xyz()
Dim i As Long
Dim toplam As Long
For toplam = 1 To 8221
For i = 1 To 8221
toplam = APPLİCATİON.Sum(Range(i, "B").End(xlUp).Columns)
Average = toplam / i
Cells(i, "B").Select
Selection = Average
Next i
Next toplam
End Sub
Ne yapmak istediğini anlamadım ama, kodda hatalı yazımları düzelttim sadece

C#:
Sub xyz()
Dim i As Long
Dim toplam As Long
For toplam = 1 To 8221
For i = 1 To 8221
toplam = WorksheetFunction.Sum(Cells(i, "B").End(xlUp).Columns)
Average = toplam / i
Cells(i, "B") = Average
Next i
Next toplam
End Sub
 
Katılım
30 Temmuz 2019
Mesajlar
28
Excel Vers. ve Dili
2016 türkçe
Ne yapmak istediğini anlamadım ama, kodda hatalı yazımları düzelttim sadece

C#:
Sub xyz()
Dim i As Long
Dim toplam As Long
For toplam = 1 To 8221
For i = 1 To 8221
toplam = WorksheetFunction.Sum(Cells(i, "B").End(xlUp).Columns)
Average = toplam / i
Cells(i, "B") = Average
Next i
Next toplam
End Sub
A B(ORTALAMA)
1 =ORT(1)
2 = ORT(1,2)
5 = ORT(1,2,5)
8 =ORT(1,2,5,8) A Kolonunda 8221 adet satır var ve bunları yandaki grafikteki ortlamasını almak istiyorum.
 

metehan8001

Yasaklı
Katılım
8 Nisan 2010
Mesajlar
125
Excel Vers. ve Dili
Office 2007 -2016 TR
Kusura bakmayın ama anlamadım ben. Örnek dosya paylaşırsanız daha kolay anlaşılabilir.
 
Katılım
30 Temmuz 2019
Mesajlar
28
Excel Vers. ve Dili
2016 türkçe
C#:
Sub exceldestek()
''Feyzullah / www.***************
For a = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(a, 2) = WorksheetFunction.Average(Range("A1:A" & a))
Next a
MsgBox "...:İşlem Tamam:...", vbInformation + vbMsgBoxRtlReading, "***************"
End Sub
teşekkürler
 

metehan8001

Yasaklı
Katılım
8 Nisan 2010
Mesajlar
125
Excel Vers. ve Dili
Office 2007 -2016 TR
Hocam bu bilgi seviyesine kaç yılda geldiniz.Hangi alanda kullanıyorsunuz Excel'i? Maşallah.Bu formülü düşünmek şu aşamada benim için zordu.
Excel hobi benim için ve ayrıca ek iş, Hemen hemen her alanda kullanılıyorum özellikle SAP ERP, Veri analizleri, Web Sorgulamalarında ve ADO ile raporlar hazırlıyorum. Forumlarda cevapları takip ederek öğrendim. 3-4 yılda baya bir depar yaptım.

Size zor gelebilir bu kod ama bilen biri için çok aşırı derecede basit bir kod aslında kurgu olarak da, mantık olarak da.
 
Katılım
30 Temmuz 2019
Mesajlar
28
Excel Vers. ve Dili
2016 türkçe
Excel hobi benim için ve ayrıca ek iş, Hemen hemen her alanda kullanılıyorum özellikle SAP ERP, Veri analizleri, Web Sorgulamalarında ve ADO ile raporlar hazırlıyorum. Forumlarda cevapları takip ederek öğrendim. 3-4 yılda baya bir depar yaptım.

Size zor gelebilir bu kod ama bilen biri için çok aşırı derecede basit bir kod aslında kurgu olarak da, mantık olarak da.
hocam vaktiniz olursa şunda da bir göz atın

https://www.dosyaupload.com/6zh4
 

metehan8001

Yasaklı
Katılım
8 Nisan 2010
Mesajlar
125
Excel Vers. ve Dili
Office 2007 -2016 TR
hocam vaktiniz olursa şunda da bir göz atın

https://www.dosyaupload.com/6zh4
C#:
Sub excekdestek()
Range("C1:C10").ClearContents
For a = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(Cells(a, 1) + 1, 3) <> "" Then Cells(Cells(a, 1) + 1, 3) = Cells(Cells(a, 1) + 1, 3) & ","
Cells(Cells(a, 1) + 1, 3) = Cells(Cells(a, 1) + 1, 3) & a
Next a
MsgBox "...:İşlem Tamam:..." & vbCrLf & vbCrLf & "            Feyzullah / Metehan8001", _
vbInformation + vbMsgBoxRtlReading, "***************"
End Sub
 
Katılım
30 Temmuz 2019
Mesajlar
28
Excel Vers. ve Dili
2016 türkçe
C#:
Sub excekdestek()
Range("C1:C10").ClearContents
For a = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(Cells(a, 1) + 1, 3) <> "" Then Cells(Cells(a, 1) + 1, 3) = Cells(Cells(a, 1) + 1, 3) & ","
Cells(Cells(a, 1) + 1, 3) = Cells(Cells(a, 1) + 1, 3) & a
Next a
MsgBox "...:İşlem Tamam:..." & vbCrLf & vbCrLf & "            Feyzullah / Metehan8001", _
vbInformation + vbMsgBoxRtlReading, "***************"
End Sub
Hocam bu da çok oldu dersiniz belki.Darladı isem kusuruma bakmayın.Bilgilerinizden yararlanmak istiyorum.Metin kutusu içine nasıl formül eklerim? nasıl normal excer satır ve sütünu gibi kullabilirim?
 
Üst