dengeceteris
Altın Üye
- Katılım
- 21 Aralık 2019
- Mesajlar
- 211
- Excel Vers. ve Dili
- Office 2016
- Altın Üyelik Bitiş Tarihi
- 15-06-2025
Günaydın.. Uzman arkadaşların yardımıyla bir tablo oluşturdum ama son anda bir problem oluştu çözüm konusunda yardımlarınızı bekliyorum.. Şimdiden tşk ederim.
Bir sayfama Etopla ile önce verileri çekiyorum. Bu veriler içinde bazı hücreler boş oluyor. Bu aşamada bir sorun olmuyor. (Aşağıda ETOPLA başlılı makro) İkinci formülümde aslında düzgün çalışıyor (Sub Renklendir) ama en büyük ilk 30 veriyi renklendirirken her sütüunda değil ama bazı sütunlarda boş hücreleri de renklendiriyor. Boş hücreye herhangi bir renklendirme yapmamasını nasıl sağlayabilirim
Sub ETOPLA()
On Error Resume Next
Range("C7:CW" & Rows.Count).Clear
Dim son As Long
son = Sheets("ANALİZ1").Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("ANALİZ1").Range("C7:CW" & son)
.Formula = "=SumIf('HAM-VERİ'!$A:$A,ANALİZ1!$A7,'HAM-VERİ'!C:C)/SumIf('FİRMA ORTALAMA'!$A:$A,ANALİZ1!$A7,'FİRMA ORTALAMA'!C:C)*-1"
.SpecialCells(xlCellTypeFormulas, 16).ClearContents
.Value = .Value
End With
End Sub
Sub Renklendir()
Dim rng As Range, target As Range, lrow As Long, lcol As Integer
topN = 30
lrow = Cells(Rows.Count, 1).End(3).Row
lcol = Cells(6, Columns.Count).End(1).Column
For i = 3 To lcol
Set target = Range(Cells(7, i), Cells(Cells(Rows.Count, 1).End(3).Row, i))
For Each rng In target
For j = 1 To topN
If rng.Value = WorksheetFunction.Large(target, j) Then
rng.Interior.Color = vbGreen
End If
Next j
Next rng
Next i
End Sub
Bir sayfama Etopla ile önce verileri çekiyorum. Bu veriler içinde bazı hücreler boş oluyor. Bu aşamada bir sorun olmuyor. (Aşağıda ETOPLA başlılı makro) İkinci formülümde aslında düzgün çalışıyor (Sub Renklendir) ama en büyük ilk 30 veriyi renklendirirken her sütüunda değil ama bazı sütunlarda boş hücreleri de renklendiriyor. Boş hücreye herhangi bir renklendirme yapmamasını nasıl sağlayabilirim
Sub ETOPLA()
On Error Resume Next
Range("C7:CW" & Rows.Count).Clear
Dim son As Long
son = Sheets("ANALİZ1").Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("ANALİZ1").Range("C7:CW" & son)
.Formula = "=SumIf('HAM-VERİ'!$A:$A,ANALİZ1!$A7,'HAM-VERİ'!C:C)/SumIf('FİRMA ORTALAMA'!$A:$A,ANALİZ1!$A7,'FİRMA ORTALAMA'!C:C)*-1"
.SpecialCells(xlCellTypeFormulas, 16).ClearContents
.Value = .Value
End With
End Sub
Sub Renklendir()
Dim rng As Range, target As Range, lrow As Long, lcol As Integer
topN = 30
lrow = Cells(Rows.Count, 1).End(3).Row
lcol = Cells(6, Columns.Count).End(1).Column
For i = 3 To lcol
Set target = Range(Cells(7, i), Cells(Cells(Rows.Count, 1).End(3).Row, i))
For Each rng In target
For j = 1 To topN
If rng.Value = WorksheetFunction.Large(target, j) Then
rng.Interior.Color = vbGreen
End If
Next j
Next rng
Next i
End Sub