- Katılım
- 5 Mayıs 2024
- Mesajlar
- 7
- Excel Vers. ve Dili
- Microsoft Excel Microsoft 365 için MSO
MERHABA İYİ ÇALIŞMALAR,
excelde üzerine çalıştığım bir dosya var
Sattığımız ürünleri indis kaçıncı formülleri ile 70 farklı ürün modeli ve 7 farklı ebat arasından otomatik fiyat bulduruyordum ve sıkıntı yoktu
sonradan siparişte gelen veriler aynı olduğunda dictionary üzerinden toplatıp aynı olan verilerin satırlarıyla sildirme üzerine makro yazdım ve başarılı oldu ama o sırada fiyat listesi 8. satırdan başlıyordu
otomatik fiyatlamayı başka sayfadan çekmek istedim ama olmadı şimdide 500. satıra koydum fakat yine olmadı kodlarda şöyle
Dim ws As shData
Set ws = ThisWorkbook.Sheets("ham_kapi")
Dim i As Integer
Dim sonsatir2 As Integer
sonsatir2 = ws.Cells(ws.Rows.Count, "F").End(xlUp).Row
For i = 9 To sonsatir2
Dim KasaBoy As Variant
Dim KasaEn As Variant
Dim KanatBoy As Variant
Dim KanatEn As Variant
Dim KapiRengi As Variant
KasaBoy = ws.Cells(i, 1).Value
KasaEn = ws.Cells(i, 2).Value
Kasa = ws.Cells(i, 3).Value
KanatBoy = ws.Cells(i, 4).Value
KanatEn = ws.Cells(i, 5).Value
KapiRengi = ws.Cells(i, 11).Value
If Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And Not IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AB$501:$AI$571, MATCH(J" & i & ", $AA$500:$AA$571, 0), MATCH(C" & i & ", $AB$500:$AI$500, 0))" ' Lake Takım Kapı
ElseIf Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AM$501:$AU$571, MATCH(J" & i & ", $AM$500:$AM$571, 0), MATCH(C" & i & ", $AN$500:$AU$500, 0))" ' Ham Takım Kapı
ElseIf Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And IsEmpty(KanatBoy) And IsEmpty(KanatEn) And Not IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AZ$505:$BG$505, MATCH(C" & i & ", $AZ$504:$BG$504, 0))" ' Lake Kasa Takım
ElseIf Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And IsEmpty(KanatBoy) And IsEmpty(KanatEn) And IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AZ$501:$BG$501, MATCH(C" & i & ", $AZ$500:$BG$500, 0))" ' Ham Kasa Takım
ElseIf IsEmpty(KasaBoy) And IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And Not IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AK$501:$AK$571, MATCH(J" & i & ", $AJ$501:$AJ$571, 0))" ' Lake Kanat
ElseIf IsEmpty(KasaBoy) And IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AW$501:$AW$571, MATCH(J" & i & ", $AV$501:$AV$571, 0))" ' Ham Kanat
End If
fiyat listesini ya başka sayfaya taşımalıyım yada alt satırlara atamalıyım çünkü aynı veriler toplandığında fiyat listesindeki verilerde siliniyor yani önceki gibi 8. satıra atadığımda olmuyor fiyat bulma formülünü elle yazdığımdada yanlış fiyat geliyor vba da yeni sayılırım lütfen tecrübeli arkadaşlar yardımcı olsun
excelde üzerine çalıştığım bir dosya var
Sattığımız ürünleri indis kaçıncı formülleri ile 70 farklı ürün modeli ve 7 farklı ebat arasından otomatik fiyat bulduruyordum ve sıkıntı yoktu
sonradan siparişte gelen veriler aynı olduğunda dictionary üzerinden toplatıp aynı olan verilerin satırlarıyla sildirme üzerine makro yazdım ve başarılı oldu ama o sırada fiyat listesi 8. satırdan başlıyordu
otomatik fiyatlamayı başka sayfadan çekmek istedim ama olmadı şimdide 500. satıra koydum fakat yine olmadı kodlarda şöyle
Dim ws As shData
Set ws = ThisWorkbook.Sheets("ham_kapi")
Dim i As Integer
Dim sonsatir2 As Integer
sonsatir2 = ws.Cells(ws.Rows.Count, "F").End(xlUp).Row
For i = 9 To sonsatir2
Dim KasaBoy As Variant
Dim KasaEn As Variant
Dim KanatBoy As Variant
Dim KanatEn As Variant
Dim KapiRengi As Variant
KasaBoy = ws.Cells(i, 1).Value
KasaEn = ws.Cells(i, 2).Value
Kasa = ws.Cells(i, 3).Value
KanatBoy = ws.Cells(i, 4).Value
KanatEn = ws.Cells(i, 5).Value
KapiRengi = ws.Cells(i, 11).Value
If Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And Not IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AB$501:$AI$571, MATCH(J" & i & ", $AA$500:$AA$571, 0), MATCH(C" & i & ", $AB$500:$AI$500, 0))" ' Lake Takım Kapı
ElseIf Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AM$501:$AU$571, MATCH(J" & i & ", $AM$500:$AM$571, 0), MATCH(C" & i & ", $AN$500:$AU$500, 0))" ' Ham Takım Kapı
ElseIf Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And IsEmpty(KanatBoy) And IsEmpty(KanatEn) And Not IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AZ$505:$BG$505, MATCH(C" & i & ", $AZ$504:$BG$504, 0))" ' Lake Kasa Takım
ElseIf Not IsEmpty(KasaBoy) And Not IsEmpty(KasaEn) And IsEmpty(KanatBoy) And IsEmpty(KanatEn) And IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AZ$501:$BG$501, MATCH(C" & i & ", $AZ$500:$BG$500, 0))" ' Ham Kasa Takım
ElseIf IsEmpty(KasaBoy) And IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And Not IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AK$501:$AK$571, MATCH(J" & i & ", $AJ$501:$AJ$571, 0))" ' Lake Kanat
ElseIf IsEmpty(KasaBoy) And IsEmpty(KasaEn) And Not IsEmpty(KanatBoy) And Not IsEmpty(KanatEn) And IsEmpty(KapiRengi) Then
ws.Cells(i, 13).Formula = "=INDEX($AW$501:$AW$571, MATCH(J" & i & ", $AV$501:$AV$571, 0))" ' Ham Kanat
End If
fiyat listesini ya başka sayfaya taşımalıyım yada alt satırlara atamalıyım çünkü aynı veriler toplandığında fiyat listesindeki verilerde siliniyor yani önceki gibi 8. satıra atadığımda olmuyor fiyat bulma formülünü elle yazdığımdada yanlış fiyat geliyor vba da yeni sayılırım lütfen tecrübeli arkadaşlar yardımcı olsun