Excel de Formüllü bir hücreyi başka bir sayfaya kopyalama ile ilgili bir sorun

Katılım
17 Ağustos 2006
Mesajlar
106
Elimde 2 tane excel belgesi var ikisi de aynı. Birinde ufak bir değişiklik yapıyorum. (Mesela biri Ali diğer Mehmet) Ali belgesinin 2. sayfasının b1 hücresine şu formülü ekliyorum. =Sayfa1!A1 Böylece b1 hücresindeki veri 1. sayfanın a hücresindeki veriyi alıyor. Bunu Mehmet adlı dosyaya da eklemek istiyorum. Ama Alideki formülü kopyalayıp Mehmet e yapıştırmak istiyorum. (Çünkü formül biraz uzan ama aynı onun için yeniden yazmak yerine kopyalamak daha kısa sürüyor.) Hücreyi kopya/yapıştır yaptığımda =[Ali.xls]Sayfa1!A1 şeklini alıyor.

Hücrede kopyala/yapıştır yaptığımda =[Ali.xls]Sayfa1!A1 böyle değilde =Sayfa1!A1 böyle olmasını sağlayabilir miyim?
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Formülü hücreden değil de formül çubuğundan kopyalayın ve kopyalarken = karakterini almayın, onu sonradan formülün başına eklersiniz.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Aşağıdaki kodları sanırım işinize yarar.

Yeni dosyaya formülleri kopyaladıktan sonra dosyayı kapatıp tekrar açınız..Daha sonra bu makroyu çalıştırabilirsiniz.



Kod:
Sub FormülDüzelt()
On Error Resume Next
Application.ScreenUpdating = False
Set Formül = Range("A1").SpecialCells(xlCellTypeFormulas)
If Formül Is Nothing Then MsgBox ActiveSheet.Name & " Sayfasında Formüllü Hücre Bulunamadı.": GoTo Hata
For Each alan In Formül
    a = Len(alan.Formula)
    b = Application.WorksheetFunction.Find("]", alan.Formula)
    If b = "" Then GoTo 10
    c = "=" & Right(alan.Formula, a - b)
    d = Application.WorksheetFunction.Replace(c, Application.WorksheetFunction.Find("'", c), 1, "")
    If Len(c) = Len(d) Then
    alan.Formula = c
    Else
    alan.Formula = d
    End If
10  Next
Hata:
Set Formül = Nothing
Application.ScreenUpdating = True
End Sub
 
Katılım
3 Temmuz 2006
Mesajlar
18
Excel Vers. ve Dili
Excel 2003 - İngilizce
seçili alandakileri düzeltir. tabi koddaki Ali yerine dosyanın ismini yazman gerekir


Sub Macro3()

Selection.Replace What:="[Ali.xls]", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

End Sub
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
1.Formülleri yeni dosyanıza kopyalayın.
2.Tüm excel çalışma kitaplarını kapatın.
3.Formüllerini düzelteceğiniz çalışma kitabını ve sayfasını açın.
4.Alt+F11 tuşuna basın.Çıkan ekranda Insert>> Modüle yapın.
5.Yazdığım kodları Modülde boş alana kopyalayın.
6.Ekranı kapanın.Dosyanızı kaydetin.
7.Tools>>Macro>>Macros>> Hesapla01 seçin ve Run tuşuna basın yani çalıştırın.

Bütün formüllerin düzelmiş olması gerekmektedir.

Sizin bunları yedek dosyada yapmanızı tavsiye ederim.

Eğer sonuç olumlu ise yedek dosyanın ismini asıl dosya ile değiştirebilirsiniz.
 
Katılım
17 Ağustos 2006
Mesajlar
106
1.Formülleri yeni dosyanıza kopyalayın.
2.Tüm excel çalışma kitaplarını kapatın.
3.Formüllerini düzelteceğiniz çalışma kitabını ve sayfasını açın.
4.Alt+F11 tuşuna basın.Çıkan ekranda Insert>> Modüle yapın.
5.Yazdığım kodları Modülde boş alana kopyalayın.
6.Ekranı kapanın.Dosyanızı kaydetin.
7.Tools>>Macro>>Macros>> Hesapla01 seçin ve Run tuşuna basın yani çalıştırın.

Bütün formüllerin düzelmiş olması gerekmektedir.

Sizin bunları yedek dosyada yapmanızı tavsiye ederim.

Eğer sonuç olumlu ise yedek dosyanın ismini asıl dosya ile değiştirebilirsiniz.
Abi Valla sorunsuz çalıştı bilgi ve emeğine sağlık
Anlatım için Ayriyetten Teşekkür.
 
Üst