Soru Düşeyara da bütün sütunu aldıramıyorum

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
192
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Herkese merhabalar düşey ara ile ilgili bir sorum olacak.. 1. sıradaki formülü yazınca sadece B7 hücresini baz alıyor. B7:B1000 gibi yazınca hata veriyor bunu nasıl düzeltebilirim.

1- S3.Cells(x, 3) = WorksheetFunction.VLookup(S3.Range("B7"), S2.Range("A:CW"), 3, 0) (B7'yi baz alıyor)

2- S3.Cells(x, 3) = WorksheetFunction.VLookup(S3.Range("B7:B1000"), S2.Range("A:CW"), 3, 0) (Hata Veriyor)

3-S3.Cells(x, 3) = WorksheetFunction.VLookup(S3.cells(x,2), S2.Range("A:CW"), 3, 0) (Hata veriyor)
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Sanırım For döngüsü içinde kullanıyorsunuz. Eğer öyleyse
For döngüsü içinde For x = 2 olduğunu varsayarsak

Kod:
S3.Cells(x, 3) = WorksheetFunction.VLookup(S3.Range("B" & x +5), S2.Range("A:CW"), 3, 0)
Sadece "B7" kısmını değiştirdim

Bu şekilde yapmalısınız.

Eğer yapamazsanız kodların tamamını ekleyin biz yapalım.
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
192
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Muzaffer bey ilginiz için çok tşk ederim. Formülü aşağıdaki gibi yapınca problem olmadı çok sağolun. Devamında şöyle bir problemim var. Aslında ben tek tek yazmayı düşünüyordum ama belki daha kısa yolu vardır. Şimdi ben 3.sütunu aldırdım ya. Benim burada aldırmam gereken 101 adet sütun var. Bütün bu sütunlar için alt alta 101 koduda yazmam mı gerekecek yada daha kısa bir yolu var mı ??? Yani 3. sütundan 101. sütuna kadar gidecek bir veri seti

S3.Cells(x, 3) = WorksheetFunction.VLookup(S3.Range("B" & x), S2.Range("A:CW"), 3, 0)

Formülün tamam ı aşağıda ki gibi:

Sub DUSEYARA()
Dim x As Integer
Dim S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, son As Integer, satir As Integer
Set S1 = Sheets("HAM-VERİ")
Set S2 = Sheets("PİVOT1")
Set S3 = Sheets("VERİ ANALİZİ")
son = S3.Cells(S3.Rows.Count, 1).End(xlUp).Row
S3.Range("C7:CW" & Rows.Count).ClearContents
For x = 7 To son
S3.Cells(x, 3) = WorksheetFunction.VLookup(S3.Range("B" & x), S2.Range("A:CW"), 3, 0)
Next
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Aşağıdaki kodu deneyin.

Kod:
Sub Test()
    Dim Son As Long
    Son = Sheets("VERİ ANALİZİ").Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("VERİ ANALİZİ").Range("C7:CY" & Son)
        .Formula = "=VLOOKUP('VERİ ANALİZİ'!$B7,PİVOT1!$A:$CW,Column(C1),0)"
        .Value = .Value
    End With
End Sub
Hangi sütuna kadar yapmak istiyorsanız "C7:CY" burayı ona göre değiştirin.
Eğer istediğiniz sonucu alamazsanız dosyanızı ekleyin yapalım.
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
192
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Üstadım çok tşk ederim. Uyguladım ve doğru sonuçları aldım çok tşk ederim. Birde aynı formülü etopla için yapabilir miyim. Ben aşağıdaki formülü yazdım muhtemelen yanlış yazmışımdır sonuç vermedi. Ama yeni bir başlık mı açmayalım.

Sub ETOPLA()
Dim Son As Long
Son = Sheets("ANALİZ1").Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("ANALİZ1").Range("C7:CW" & Son)
.Formula = "=SumIf('HAM-VERİ!$A$:$A$,ANALİZ1'!$B7,Column(C1)"
.Value = .Value
End With
End Sub
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
C7'ye normal excel formülü yazıp buraya kopyalayın ona göre kod yazayım.
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
192
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
=ETOPLA('HAM-VERİ'!A:A;ANALİZ1!A7;'HAM-VERİ'!C:C)

Bu formülü ANALİZ1 sayfamda kullanıyorum. aşağı doğru 550 satırım sağa doğru da CW sütununa kadar gidecek.

Aslında yazmaya çalıştığım aşağıda ki ama sizi de fazla yormak istemediğim için ikinci kısmı üretebilirim diye düşündüm

=EĞERHATA(ETOPLA('HAM-VERİ'!$A:$A;ANALİZ1!$A7;'HAM-VERİ'!C:C) / ETOPLA('FİRMA ORTALAMA'!$A:$A;ANALİZ1!$A7;'FİRMA ORTALAMA'!C:C);"")
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Dosyanızı görmeden yaptığım için tahmin ederek yaptım.
Eğer istediğiniz sonucu alamazsanız dosyanızı ekleyin yapalım.

Kod:
Sub Test_2()
    Dim son As Long
    son = Sheets("ANALİZ1").Cells(Rows.Count, 1).End(xlUp).Row
    With Sheets("ANALİZ1").Range("C7:CY" & son)
        .Formula = "=SumIf('HAM-VERİ'!$A:$A,ANALİZ1!$A7,'HAM-VERİ'!C:C)"
        .Value = .Value
    End With
End Sub
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
192
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Hocam elinize sağlık gayet düzgün çalıştı. Sadece buna bir bölme işlemi eklemek istiyorum. Ama aaşağıdaki gibi olmuyor yapamadım yani

.Formula = "=SumIf('HAM-VERİ'!$A:$A,ANALİZ1!$A7,'HAM-VERİ'!C:C)" / .Formula = "=SumIf('FİRMA ORTALAMA'!$A:$A,ANALİZ1!$A7,'FİRMA ORTALAMA'!C:C)"
 
Son düzenleme:

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Test yapmadım ama bu şekilde olmalı.
Kod:
.Formula = "=SumIf('HAM-VERİ'!$A:$A,ANALİZ1!$A7,'HAM-VERİ'!C:C)/SumIf('FİRMA ORTALAMA'!$A:$A,ANALİZ1!$A7,'FİRMA ORTALAMA'!C:C)"
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
192
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Hocam hzılı ve düzgün çalışıyor sağolun varolun. Birde şurayı düzeltme imkanı var mı ? boş hücre yada sıfır hücrelerde #SAYI/0! bunu nasıl engellerim orada işlem yapmasın gibi
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,167
Excel Vers. ve Dili
2019 Türkçe
Kod:
.Value = .Value
Satırının bir üstüne aşağıdaki satırı ekleyin
Kod:
.SpecialCells(xlCellTypeFormulas, 16).ClearContents
 

dengeceteris

Altın Üye
Katılım
21 Aralık 2019
Mesajlar
192
Excel Vers. ve Dili
Office 2016
Altın Üyelik Bitiş Tarihi
15-06-2025
Muzaffer hocam çok ama çok tşk ederim. :))
 
Üst