Çok sayfada düşey ara formülü hk.

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,664
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba,
Aşağıdaki kodlardan makro 1 i çalıştırdığım zaman hücrelere doğru sonuçlu formülü yazıyor.
Bu makro kodunu değere dönüştürmek ve hücrelere dağıtmak istediğim "perakende" kodlarında hata veriyor.
Neden acaba.
Bu perakende kod yapısı her zaman kullandığım koddur.
hücredeki formül
Kod:
=EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(DÜŞEYARA(A2;Panel!B:P;$N$2;0);DÜŞEYARA(A2;Otr.Grubu!B:P;$N$3;0));DÜŞEYARA(A2;'MasaSandalyeBahçe Mb.'!B:P;$N$4;0));DÜŞEYARA(A2;BazaBaşlık!B:P;$N$5;0));DÜŞEYARA(A2;yatak!B:P;$N$6;0));DÜŞEYARA(A2;Halı!B:L;$N$7;0));DÜŞEYARA(A2;'Ev teks.'!B:L;$N$8;0));DÜŞEYARA(A2;nevresim!B:M;$N$9;0));DÜŞEYARA(A2;aksesuar!B:L;$N$10;0));DÜŞEYARA(A2;kozmetık!B:L;$N$11;0));DÜŞEYARA(A2;mobılyaaksesuar!B:L;$N$12;0));DÜŞEYARA(A2;'fırsat urunlerı'!B:M;$N$13;0));0)
makro ile elde edilen kod ve diğer kod
Kod:
Sub makro_ıle_elde_edılenformul()
    Range("F2").Select
    ActiveCell.FormulaR1C1 = _
  "=IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(VLOOKUP(RC[-5],Panel!C[-4]:C[10],R2C14,0),VLOOKUP(RC[-5],Otr.Grubu!C[-4]:C[10],R3C14,0)),VLOOKUP(RC[-5],'MasaSandalyeBahçe Mb.'!C[-4]:C[10],R4C14,0)),VLOOKUP(RC[-5],BazaBaşlık!C[-4]:C[10],R5C14,0)),VLOOKUP(RC[-5],yatak!C[-4]:C[10],R6C14,0)),VLOOKUP(RC[-5],Halı!C[-4]:C[6],R7C14,0)),VLOOKUP(RC[-5],'Ev teks.'!C[-4]:C[6],R8C14,0)),VLOOKUP(RC[-5],nevresim!C[-4]:C[7],R9C14,0)),VLOOKUP(RC[-5],aksesuar!C[-4]:C[6],R10C14,0)),VLOOKUP(RC[-5],kozmetık!C[-4]:C[6],R11C14,0)),VLOOKUP(RC[-5],mobılyaaksesuar!C[-4]:C[6],R12C14,0)),VLOOKUP(RC[-5],'fırsat urunlerı'!C[-4]:C[7],R13C14,0)),0)"
  
End Sub
Sub perakende()
'On Error Resume Next
Set S1 = Sheets("ÜRÜNLER")
S1.Select
S1.AutoFilterMode = False
S1.[F2:K20000].ClearContents 'giren
Son = Cells(Rows.Count, "A").End(3).Row 'STOK KODU
With S1.Range("F2:F" & Son) 'GİREN
  .FormulaLocal = "=IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(VLOOKUP(RC[-6],Panel!C[-5]:C[9],R2C15,0),VLOOKUP(RC[-6],Otr.Grubu!C[-5]:C[9],R3C15,0)),VLOOKUP(RC[-6],'MasaSandalyeBahçe Mb.'!C[-5]:C[9],R4C15,0)),VLOOKUP(RC[-6],BazaBaşlık!C[-5]:C[9],R5C15,0)),VLOOKUP(RC[-6],yatak!C[-5]:C[9],R6C15,0)),VLOOKUP(RC[-6],Halı!C[-5]:C[5],R7C15,0)),VLOOKUP(RC[-6],'Ev teks.'!C[-5]:C[5],R8C15,0)),VLOOKUP(RC[-6],nevresim!C[-5]:C[6],R9C15,0)),VLOOKUP(RC[-6],aksesuar!C[-5]:C[5],R10C15,0)),VLOOKUP(RC[-6],kozmetık!C[-5]:C[5],R11C15,0)),VLOOKUP(RC[-6],mobılyaaksesuar!C[-5]:C[5],R12C15,0)),VLOOKUP(RC[-6],'fırsat urunlerı'!C[-5]:C[6],R13C15,0)),0)"
End With
End Sub
 
Katılım
11 Temmuz 2024
Mesajlar
15
Excel Vers. ve Dili
Excel 2021 Türkçe
Merhaba, perakende kodunu şöyle düzenler misiniz;

Kod:
Sub perakende()
'On Error Resume Next
Set S1 = Sheets("ÜRÜNLER")
S1.Select
S1.AutoFilterMode = False
S1.[F2:K20000].ClearContents 'giren
Son = Cells(Rows.Count, "A").End(3).Row 'STOK KODU
With S1.Range("F2:F" & Son) 'GİREN
  .FormulaLocal = "=IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(IFERROR(VLOOKUP(RC[-5],Panel!C[-4]:C[10],R2C14,0),VLOOKUP(RC[-5],Otr.Grubu!C[-4]:C[10],R3C14,0)),VLOOKUP(RC[-5],'MasaSandalyeBahçe Mb.'!C[-4]:C[10],R4C14,0)),VLOOKUP(RC[-5],BazaBaşlık!C[-4]:C[10],R5C14,0)),VLOOKUP(RC[-5],yatak!C[-4]:C[10],R6C14,0)),VLOOKUP(RC[-5],Halı!C[-4]:C[6],R7C14,0)),VLOOKUP(RC[-5],'Ev teks.'!C[-4]:C[6],R8C14,0)),VLOOKUP(RC[-5],nevresim!C[-4]:C[7],R9C14,0)),VLOOKUP(RC[-5],aksesuar!C[-4]:C[6],R10C14,0)),VLOOKUP(RC[-5],kozmetık!C[-4]:C[6],R11C14,0)),VLOOKUP(RC[-5],mobılyaaksesuar!C[-4]:C[6],R12C14,0)),VLOOKUP(RC[-5],'fırsat urunlerı'!C[-4]:C[7],R13C14,0)),0)"
End With
End Sub
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,664
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Merhaba,
daha önce verdiği hatayı verdi.
formül satırında
 

Ekli dosyalar

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,664
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
hata açıklaması
"application-defined or object-defined error" =uygulama tanımlı veya nesne tanımlı hata
 
Katılım
11 Temmuz 2024
Mesajlar
15
Excel Vers. ve Dili
Excel 2021 Türkçe
.FormulaLocal yerine .FormulaR1C1 kullanmayı denediniz mi?
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,664
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
Daha önce düzenlediğim aşağıdaki kod çalışıyor.
yukarıdaki kod ile farkı Düşey arada sutun indis sayısını hücreden alıyor.
hata nedeni bu olsa gerek diye düşünüyorum.
Kod:
Sub perakende()
On Error Resume Next
Set S1 = Sheets("ÜRÜNLER")
S1.Select
S1.AutoFilterMode = False
S1.[F2:K20000].ClearContents 'giren
Son = Cells(Rows.Count, "A").End(3).Row 'STOK KODU
With S1.Range("F2:F" & Son) 'GİREN
.FormulaLocal = "=EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(EĞERHATA(DÜŞEYARA(A2;Panel!B:j;4;0);DÜŞEYARA(A2;Otr.Grubu!B:J;6;0));DÜŞEYARA(A2;'MasaSandalyeBahçe Mb.'!B:J;6;0));DÜŞEYARA(A2;BazaBaşlık!B:J;6;0));DÜŞEYARA(A2;yatak!B:J;6;0));DÜŞEYARA(A2;Halı!B:O;5;0));DÜŞEYARA(A2;'Ev teks.'!B:O;5;0));DÜŞEYARA(A2;nevresim!B:O;6;0));DÜŞEYARA(A2;'fırsat urunlerı'!B:O;6;0));DÜŞEYARA(A2;aksesuar!B:O;5;0));DÜŞEYARA(A2;kozmetık!B:O;5;0));DÜŞEYARA(A2;mobılyaaksesuar!B:O;5;0));0)"
.Value = .Value

End With
toptan
End Sub
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,664
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
kodlarda çalışan türkçe ,çalışmayan ingilizce bundan olabilirmi
 

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,664
Excel Vers. ve Dili
Excel 2010 32 bit
Altın Üyelik Bitiş Tarihi
06-10-2032
merhaba,
küçük bir deneme yaptım.
sutun indis sayısını hücreden aldığım zaman hata verdi,
hücreyi iptal edip sutun sayısını rakam girince aynı kod değeri getirdi.
Çok teşekkür ederim ilginize.
selametle kalınız.
 
Katılım
11 Temmuz 2024
Mesajlar
15
Excel Vers. ve Dili
Excel 2021 Türkçe
Çözülmüş olmasına sevindim, hayırlı geceler dilerim
 
Üst