• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Tab silince formuller bozuluyor

Katılım
12 Mart 2009
Mesajlar
119
Excel Vers. ve Dili
Office 365 - Ingilizce
Merhaba,

Bir tane Excel tablosu icinde 4 adet Tab var, bunlardan 3 tanesini her hafta silip yenisini baska bir dosyadan kopyaliyorum. 4. Tab ise bu 3 Tabdaki degerlerden olusuyor, yani tamamen otomatik. Sorun su ki tablari silip yenilerini koydugumda ana tablodaki tum formuller bozuluyor. Macro kaydetmeyi baslattim ve tum makrolari yapistirdim fakat sonra bu makroyu calistirdigimda hata verdi.

Ana tablodaki formullerin bozulmamasini saglayabilirmiyim ? Ya da bir sekilde kopyaladigim dosya ismi olmadan yapistirabilirmiyim ? Tum formulleri bir satira yapistirip asagi dogru cekiyorum.
 
.

Formüllü sayfa olan 4.Tabı (sayfayı)ayrı bir benzer dosyada tutun. Daha sonra bozulan sayfayı da silin. Bunun yerine bunu ekleyin.
 
Eğer Excel dosya örneğinizi foruma eklerseniz; sorunun çözümü daha kolay olur.
İyi çalışmalar...
Not:
Örnek dosyanızı; GOOGLE DRIVE, YANDEX DISK, DOSYA.LA, DOSYA.CO, DOSYA.TC, DOSYAUPLOAD.COM, WETRANSFER.COM gibi dosya paylaşım sitelerine ekleyip linkini burada bildiriniz.

Calistigim dosyada sirket icin onemli veriler oldugu icin ekleyemiyorum, verileri silersemde hic bir isinize yaramaz. Fakat Tab 4 teki formuller asagidaki sekilde:

A ='Profile List'!A2&'Profile List'!D2&'Profile List'!G2&'Profile List'!J2
C =Table1[@Status]
D =IFERROR(VLOOKUP(A2,SAP!F:I,4,FALSE),"")
G =VLOOKUP(A2,'Profile List'!H:L,5,FALSE)
H =IFERROR(VLOOKUP(A2,SAP!F:K,6,FALSE),"")
I =IFERROR(IF(SUM((MID(G2,ROW(INDIRECT("1:"&LEN(G2))),5)=TRANSPOSE(MID(H2,ROW(INDIRECT("1:"&LEN(H2))),5)))*1)>0,"","UPDATE"),"")
K =IFERROR(VLOOKUP(A2,'test acc'!J:K,2,FALSE),"")
L =IFERROR(VLOOKUP(A2,SAP!F:V,17,FALSE),"")
O =IFERROR(VLOOKUP(A2,SAP!F:H,3,FALSE),"")
P =IFERROR(VLOOKUP(O2,'report'!A:D,4,FALSE),"")
Q =IFERROR(VLOOKUP(A2,SAP!F:W,18,FALSE),"")

.

Formüllü sayfa olan 4.Tabı (sayfayı)ayrı bir benzer dosyada tutun. Daha sonra bozulan sayfayı da silin. Bunun yerine bunu ekleyin.

O sekildede denedim fakat bu kez Tab 4 un bulundugu excel dosyasindan verileri aliyor.
 
Bir de aşağıdaki yöntemi deneyin.

Tabları silmeden önce formüllü sayfanızdaki formülleri metin haline çevirelim. Formüllü alanı seçin ve aşağıdaki kodu çalıştırın.
Kod:
Sub kesmeekle()

Dim i As Long
Dim hcr As Range

For Each hcr In Selection
    If Not hcr.HasFormula Then
    Else: hcr.Value = "'" & hcr.Formula
    End If
Next hcr
  
End Sub



Formüllü sayfa hariç diğer sayfaları sildikten ve yeni sayfaları ekledikten sonra, yukarıdaki işlemin tersini yapmak için yine ilgili alanı seçin ve aşağıdaki kodu çalıştırın.

Kod:
Sub kesmesil()

Dim i As Long
Dim hcr As Range

For Each hcr In Selection

   hcr.Value = "" & hcr

Next hcr
  
End Sub


.
 
Son düzenleme:
Idris bey merhaba,

Ilginiz icin cok tesekkurler. Bir onceki mesaji yazdiktan sonra nette biraz arastirma yaptim ve baska bir cozum buldum. Tum formullerin basina # sembolu ekledim ve ilk sutuna yapistirdim. Daha sonra makro kaydetmeyi baslattim ve ilk sutundaki degerleri ucuncu sutuna, yani normalde olmasi gereken yere yapistirdim. CTRL+F ile bul degistir yaparak # sembolunu sildim ve ilk sutunu gizledim. formulleri asagi dogru tekrarlattim ve son olarak makro kaydini durdurdum ve bir buton atadim. Simdi butonu tiklayinca her sey tikir tikir calisiyor.

formullerin basinda farkli bir sembol oldugu icin hic bir zaman degismiyorlar ve bul degistir ile koyulan simgeyi kaldirinca yine eski formul haline donuyor :)

Belki birilerinin isine yarar.
 
Yukarıda verdiğim kodlar da, formüllerin başına kesme ekleyip, kaldırıyor. sizin yaptığınızın mantığı ile aynı.
 
Geri
Üst