- Katılım
- 23 Ocak 2011
- Mesajlar
- 293
- Excel Vers. ve Dili
- 2007 excel
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Slm,
D+E+F ( f boşsa yazmasın) hücrelerini birleştirip sayısını G hücresine yazsın şeklinde bir makro oluşturabilirmiyiz.
Yani =D2&E2&F2 ,=Eğersay(H2:h6568,H2) formüllerinin makroya cevrilmiş hali olarak düşünebiliriz.
Slm,
D+E+F ( f boşsa yazmasın) hücrelerini birleştirip sayısını G hücresine yazsın şeklinde bir makro oluşturabilirmiyiz.
Yani =D2&E2&F2 ,=Eğersay(H2:h6568,H2) formüllerinin makroya cevrilmiş hali olarak düşünebiliriz.
Sub mükerrer_say()
Dim s1 As Worksheet
Dim WF As WorksheetFunction
Set s1 = Sheets("Sayfa1")
Set WF = WorksheetFunction
s1_son = s1.Range("A65536").End(3).Row
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
s1.Columns("G:G").ClearContents
s1.Columns("IV:IV").ClearContents
For i = 2 To s1_son
If s1.Cells(i, "D") = "" Or s1.Cells(i, "E") = "" Or s1.Cells(i, "F") = "" Then
s1.Cells(i, "IV") = ""
Else
s1.Cells(i, "IV") = s1.Cells(i, "D") & s1.Cells(i, "E") & s1.Cells(i, "F")
End If
Next
For j = 2 To s1_son
If s1.Cells(j, "IV") <> "" Then
s1.Cells(j, "G") = WF.CountIf(s1.Range("IV2:IV" & s1_son), s1.Cells(j, "IV"))
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Sayma İşlemi Tamamlanmıştır", vbInformation
End Sub
Selam,Ergün bey teşekkürler.Tam istediğimi gibi,
F boş hücreyse saymıyor çok güzel 0 yada zihinsel yazan hücreleri saymasa olabilirmi.
[COLOR="Red"]If s1.Cells(i, "D") = "" Or s1.Cells(i, "E") = "" Or s1.Cells(i, "F") = "" Then[/COLOR]
s1.Cells(i, "IV") = ""
Else
s1.Cells(i, "IV") = s1.Cells(i, "D") & s1.Cells(i, "E") & s1.Cells(i, "F")
End If
Next
Ergün Bey,
s1.Cells(i, "IV") de IV ne için birde Kırmızı yazan yeri nasıl hem boşu hemde 0 saymasın yapabiliriz.
IV excel sayfasının 256. yani en son sütunudur. Kullanmayacağınızı düşünerek yardımcı verileri buraya yazılıp siliniyor.s1.Cells(i, "IV") de IV ne için
1.mesajınızdaki dosyanızı inceledim. F sütununda ne "0" var ne de "zihinsel" hangi sütunda hangi sartı istiyorsanız tam yazınız.F boş hücreyse saymıyor çok güzel 0 yada zihinsel yazan hücreleri saymasa olabilirmi.
dosyayı ekledim.
Sub mükerrer_say()
Dim s1 As Worksheet
Dim WF As WorksheetFunction
Set s1 = Sheets("Sayfa1")
Set WF = WorksheetFunction
s1_son = s1.Range("A65536").End(3).Row
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
s1.Range("G:I").ClearContents
s1.Range("IT:IV").ClearContents
For i = 2 To s1_son
If s1.Cells(i, "F") <> "" And s1.Cells(i, "F") <> 0 Then
s1.Cells(i, "IV") = s1.Cells(i, "D") & s1.Cells(i, "E") & s1.Cells(i, "F")
End If
If s1.Cells(i, "C") <> "" And s1.Cells(i, "C") <> 0 And s1.Cells(i, "C").Value <> "ZİHİNSEL" Then
s1.Cells(i, "IU") = s1.Cells(i, "C") & s1.Cells(i, "D") & s1.Cells(i, "E")
End If
If s1.Cells(i, "F") <> "" And s1.Cells(i, "F") <> 0 Then
s1.Cells(i, "IT") = s1.Cells(i, "D") & s1.Cells(i, "F")
End If
Next
For J = 2 To s1_son
If s1.Cells(J, "IV") <> "" Then
s1.Cells(J, "G") = WF.CountIf(s1.Range("IV2:IV" & s1_son), s1.Cells(J, "IV"))
End If
If s1.Cells(J, "IU") <> "" Then
s1.Cells(J, "H") = WF.CountIf(s1.Range("IU2:IU" & s1_son), s1.Cells(J, "IU"))
End If
If s1.Cells(J, "IT") <> "" Then
s1.Cells(J, "I") = WF.CountIf(s1.Range("IT2:IT" & s1_son), s1.Cells(J, "IT"))
End If
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Sayma İşlemi Tamamlanmıştır", vbInformation
End Sub
diyorsunuz ancak E'de böye birşey yok bu yüzden C sütununu referans aldım.h sutununa c+d+e
birleştirip saysın
(e deki boş , 0 ve zihinsel olan hücreleri saymasın)
Çok teşekkür ederim
Merhabalar Ergün Bey,
Birleştirme yaparken çoğunda yanlış birleştirme yapmış bir kontrol edebilirmisiniz.
Ben bir kaçını işaretledim.