Soru Hücreye yapıştırılan formülde hata oluyor.

Katılım
6 Şubat 2024
Mesajlar
3
Excel Vers. ve Dili
Office365(türkçe)
Dim ws As Worksheet
Set wb2 = ThisWorkbook
Set ws = wb2.Sheets(2)

Application.ScreenUpdating = False 'Ekranı güncellemeyi kapat
Application.Calculation = xlCalculationManual 'Hesaplama modunu manuel yap


'H2 hücresindeki veriyi sakla
Dim saklananVeri As Variant
saklananVeri = ws.Range("H2").formula

'Sayfa içindeki tüm verileri sil
ws.Cells.ClearContents

'H2 hücresine saklanan veriyi geri yükle
ws.Range("H2").formula = saklananVeri


Çok Basit şekilde bir formülü h2 hücresinde bırakıp tüm verileri silip sonra o formülü oraya geri koymak istiyorum. Ancak işlem sırasında formülümdeki A:A gibi aralıkların başına @ işareti geliyor bunun olmamasını nasıl sağlarım lütfen yardımcı olun.

=EĞER(E2>1;BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;A:A;G:G));3);1)+TOPLA(BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;A:A;G:G*F:F));3);SIRALI(E2-1;;2)));G2)
=EĞER(E2>1;BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;@A:A;G:G));3);1)+TOPLA(BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;@A:A;@G:G*@F:F));3);SIRALI(E2-1;;2)));G2)
 
Katılım
9 Şubat 2022
Mesajlar
123
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Altın Üyelik Bitiş Tarihi
09-02-2027
1-İLKEŞLEŞEN(SWITCH) formülünün uyumsuzluğundan kaynaklanıyor olabilir belki, ÇAPRAZARA(XLOOKUP) / FİLTRE ile değiştirmeyi deneyebilirsiniz.
2-Formüldeki işlemleri neden makro ile yapmayı denemiyorsunuz?
3-veriyi sakla kısmı neden ihtiyaç oluyor anlamadım, makro ile hücreye şu formülü gir demek daha iyi olmaz mıydı?
4-Yİne bu şekilde yapacaksanız, formül metnini formül olmayacak bir formatta saklarsanız, bu şekilde düzeltme yapmaya çalışmayabilir.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,838
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Denedim fakat formülde @ gibi yada herhangi bir değişiklik olmadı.

acaba başka bir kod mu tetikleniyor.
Kodun başına
application.enableevents=false
sonuna
application.enableevents=true

yazarak dener misiniz.

Yada aşağıdaki kısa kod sanırım işinizi görecektir.
Kod:
Sub test()
    ThisWorkbook.Sheets(2).Cells.ClearContents
    Range("H2").FormulaLocal = "=EĞER(E2>1;BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;A:A;G:G));3);1)+TOPLA(BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;A:A;G:G*F:F));3);SIRALI(E2-1;;2)));G2)"
End Sub
 
Katılım
6 Şubat 2024
Mesajlar
3
Excel Vers. ve Dili
Office365(türkçe)
1-İLKEŞLEŞEN(SWITCH) formülünün uyumsuzluğundan kaynaklanıyor olabilir belki, ÇAPRAZARA(XLOOKUP) / FİLTRE ile değiştirmeyi deneyebilirsiniz.
2-Formüldeki işlemleri neden makro ile yapmayı denemiyorsunuz?
3-veriyi sakla kısmı neden ihtiyaç oluyor anlamadım, makro ile hücreye şu formülü gir demek daha iyi olmaz mıydı?
4-Yİne bu şekilde yapacaksanız, formül metnini formül olmayacak bir formatta saklarsanız, bu şekilde düzeltme yapmaya çalışmayabilir.
Merhaba.
Denedim fakat formülde @ gibi yada herhangi bir değişiklik olmadı.

acaba başka bir kod mu tetikleniyor.
Kodun başına
application.enableevents=false
sonuna
application.enableevents=true

yazarak dener misiniz.

Yada aşağıdaki kısa kod sanırım işinizi görecektir.
Kod:
Sub test()
    ThisWorkbook.Sheets(2).Cells.ClearContents
    Range("H2").FormulaLocal = "=EĞER(E2>1;BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;A:A;G:G));3);1)+TOPLA(BÜYÜK(SÜTUNA((İLKEŞLEŞEN(A2;A:A;G:G*F:F));3);SIRALI(E2-1;;2)));G2)"
End Sub
office 365'te Örtük kesişim işleci: @ özelliği aktive edilmiş. Bu sebeple artık yeni formüller formülün cinsine göre (https://support.microsoft.com/tr-tr/office/örtük-kesişim-işleci-ce3be07b-0101-4450-a24e-c1c999be2b34) direk olarak @ ile başlıyor. Formül zaten makro içine gömülü fakat bu sorunu geçmekiçin copy paste yapmaya çalıştım ama olmadı. Bende direk .formule ile kendim girdim ingilizce olarak(
For i = 2 To lastRow
ws.Cells(i, "H").Formula2 = "=IF(E" & i & ">1,LARGE(TOCOL((SWITCH(A" & i & "," & "A:A" & "," & "G:G" & ")),3),1)+SUM(LARGE(TOCOL((SWITCH(A" & i & "," & "A:A" & "," & "G:G" & "*" & "F:F" & ")),3),SEQUENCE(E" & i & "-1,,2))),G" & i & ")") . Doğru yazım bu şekilde olacak dün çözdüm. Burda kritik kısım local alınmasını sağlamak için. ".formula2" şeklinde yazmamız lazım. Çok zorladı en az 6 saatim gitmiştir ama bu problemi yaşayanlar buradan yararlanır umarım.
Düzeltme!:{""} işaretleri fazla gelebilir tam düzenleme yapmadım anlayanlar fazlalıkları silebilir, ama gerekli değil sadece kaba görünüyor o kadar.
 
Katılım
6 Şubat 2024
Mesajlar
3
Excel Vers. ve Dili
Office365(türkçe)
Çözüldü.
 
Üst