Hocam Mal bolumunde ilk girilen kaydi getiriyor sanirim! ama ayni anlasma numarasina ait 2-3 yada daha fazla "Satis"yada "Alis" olabilir toplamini getirmesi gerekiyor yani N sutununda ornegin (A-0012021-S) Anlasma numarali 3-5 adet satis var ise 50 ton 20 ton 40 ton gibi toplamini 110 tonu...
...1048576, Sheets("Mal").Cells(Rows.Count, 1).End(3).Row)
.Range("G5").FormulaArray = Formul
With .Range("G5:G" & Son)
.FillDown
Calculate
.Value = .Value
End With
End With
MsgBox "İşleminiz tamamlanmıştır.", vbInformation...
...için kod bloğunu aşağıdaki gibi düzenlerseniz sorun giderilmiş olur.
With Range("AL3")
.FormulaArray = "=SUM(--($AJ$3:$AJ$12=B3:B12))=COUNTA($AJ$3:$AJ$12)"
With .Resize(Cells(Rows.Count, 1).End(3).Row - 2)
.FillDown
.Calculate
.Value = .Value
End With
End...
...= "=SUM(--($AJ$3:$AJ$12=B3:B12))=COUNTA($AJ$3:$AJ$12)"
With Range("AL3:AL" & Cells(Rows.Count, 1).End(3).Row)
.FillDown
.Value = .Value
End With
End Sub
Ya da;
Sub Test()
With Range("AL3")
.FormulaArray =...
...Range("A2:M" & dip).Borders.LineStyle = xlNone
Range("N2").FormulaLocal = "=EĞERSAY($C$2:$C$" & dip & ";C2)"
Range("N2:N" & dip).FillDown
For a = 2 To Range("C65536").End(3).Row
If Not Evn.exists(Cells(a, 3).Value) Then
Randomize
If Cells(a, "N") =...
Makronuza aşağıdaki satırları ilave edip deneyiniz. Döngü yerine Excelin doldurma özelliği kullanılmıştır:
son = Cells(Rows.Count, "A").End(3).Row
Range("E2:J" & son).FillDown
....FormulaArray = "=INDEX($A$2:$A$2000,MATCH(0,COUNTIF($B$1:B1,$A$2:$A$2000),0),0)"
.Resize(Son - 1).FillDown
.Resize(Son - 1).Value = .Resize(Son - 1).Value 'Bu satırı aktif yaparsanız formüller değere dönüşür. Böylece dosyanız daha hızlı tepki verir.
End With
End Sub
Korhan uzmanım merhaba
Value satırını aktif hale getirince sadece en üst (B2) hücresi değere dönüştürüyor
diğerleri yine formül olarak aktarılıyor.
Tamamını değere dönüşmesini sağlayacak şekilde düzeltebilir misiniz :)
...With Sheets("Sayfa1").Range("B2")
.FormulaArray = "=INDEX($A$2:$A$2000,MATCH(0,COUNTIF($B$1:B1,$A$2:$A$2000),0),0)"
.Resize(Son - 1).FillDown
'.Value = .Value 'Bu satırı aktif yaparsanız formüller değere dönüşür. Böylece dosyanız daha hızlı tepki verir.
End With...
...kodlarının en üst satına aşağıdaki kodları kopyalayın.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Alan As Range
If Not Intersect(Target, Range("G6:G" & Rows.Count)) Is Nothing Then
For Each Alan In Target
Range("H" & Alan.Row & ":AW" & Alan.Row).FillDown
Next
End If
Teşekkür ederim Ömer Bey;
Şu haliyle çalışan bir kodumuz var. Her seferinde, her satırın altına aşağıdaki ifadeyi yazmak zorunda mıyım.
Yazılacak satır sayısı fazla olduğu için soruyorum.
"Sheets("Veri").Range("EB8:EB" & f).FillDown"
...bularak B sütununun 8. satırdan itibaren 1 den başlayarak formül yazdırır.
Siz kendinize göre gerekli değişiklikleri yapınız.
Sub Makro1()
Dim i As Long
i = Cells(Rows.Count, "A").End(3).Row
Range("B8").Formula = "=ROW(A1)"
Range("B8:B" & i).FillDown
End Sub
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.