1Al2Ver
Altın Üye
- Katılım
- 5 Kasım 2007
- Mesajlar
- 4,713
- Excel Vers. ve Dili
- 64 Bit TR - Microsoft Office 365 - Win11 Home
- Altın Üyelik Bitiş Tarihi
- 04-01-2026
Merhabalar,
Sayın Ömer BARAN'ın yazdığı kod ile, "REÇETE" sayfası "E" sütunundan, "RAPOR" sayfası "E" sütunun ilgili hücrelerine veri alıyorum,
İhtiyaç üzerine tek sütundan (E) alınan miktarların, "RAPOR" sayfası N1 hücresinden yapılacak seçime göre, "REÇETE" sayfasından (E,F,G) "RAPOR" sayfasının ilgili hücrelerine gelmesini arzuluyorum,
NOT ; "RAPOR" sayfasında C60 son satır olarak tanımlanmış olduğundan, veriler 59.satıra kadar alınmaktadır.
Teşekkür ederim.
Sayın Ömer BARAN'ın yazdığı kod ile, "REÇETE" sayfası "E" sütunundan, "RAPOR" sayfası "E" sütunun ilgili hücrelerine veri alıyorum,
İhtiyaç üzerine tek sütundan (E) alınan miktarların, "RAPOR" sayfası N1 hücresinden yapılacak seçime göre, "REÇETE" sayfasından (E,F,G) "RAPOR" sayfasının ilgili hücrelerine gelmesini arzuluyorum,
NOT ; "RAPOR" sayfasında C60 son satır olarak tanımlanmış olduğundan, veriler 59.satıra kadar alınmaktadır.
Teşekkür ederim.
Kod:
Sub MENÜ_LİSTELE()
Set ra = Sheets("RAPOR"): Set RE = Sheets("REÇETE")
If ra.[C60].End(3).Row > 16 Then ra.Range("A17:I" & ra.[C59].End(3).Row).ClearContents
For yemek = 3 To ra.[I16].End(3).Row
Cells(ra.[C60].End(3).Row + 1, 2) = ra.Cells(yemek, 9)
ilk = WorksheetFunction.Match(ra.Cells(yemek, 9), RE.Range("B:B"), 0)
son = WorksheetFunction.CountIf(RE.Range("B:B"), ra.Cells(yemek, 9)) + ilk - 1
For resat = ilk To son
rasat = ra.[C60].End(3).Row + 1: ra.Cells(rasat, 3) = RE.Cells(resat, 3)
ra.Cells(rasat, 4) = RE.Cells(resat, 4): ra.Cells(rasat, 5) = RE.Cells(resat, 5)
If Cells(rasat, 4) = "Gr" Then
katsayı = 1000
ra.Cells(rasat, 6) = ra.[D14] * ra.Cells(rasat, 5) / katsayı
ra.Cells(rasat, 7) = RE.Cells(resat, 6)
ra.Cells(rasat, 8) = RE.Cells(resat, 7) * ra.[D14]
Else
katsayı = 1
ra.Cells(rasat, 6) = ra.[D14] * ra.Cells(rasat, 5) / katsayı
ra.Cells(rasat, 7) = RE.Cells(resat, 6)
ra.Cells(rasat, 8) = RE.Cells(resat, 7) * ra.[D14] * katsayı * 1000
End If
ra.Cells(rasat, 9) = RE.Cells(resat, 8)
Next
Next
With ra.Range("A17:A" & ra.[C60].End(3).Row)
.Formula = "=IF(ISERROR(MATCH(B17,$I$1:$I$14,0)),"""",MAX($A$16:A16)+1)"
.Value = .Value
End With
ra.Cells(ra.[C60].End(3).Row + 1, 6) = "TOPLAM"
ra.Cells(ra.[C60].End(3).Row + 1, 8) = _
WorksheetFunction.Sum(ra.Range("H17:H" & ra.[C60].End(3).Row))
ra.Cells(ra.[C60].End(3).Row + 1, 9) = _
WorksheetFunction.Sum(ra.Range("I17:I" & ra.[C60].End(3).Row))
MsgBox "İŞLEM TAMAM"
End Sub
Son düzenleme: