Farklı sayfadan gelen verileri seçmek

Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Arkadaşlar Merhaba,

Belirli bir aralıkta aynı dosya içerisindeki farklı sayfalardan veri alan hücreleri seçmek istiyorum. Örnek Dosya Ekte. Şimdiden teşekkürler.
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
arkadaşlar ctrl + g özel i seçip formül diyorum fakat aynı sayfada başka formüllü hücreler var ise onlarıda seçiyor. sadece başka sheet ten gelen verileri seçebilir miyiz?
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
Sub formullusec()
Selection.SpecialCells(xlFormulas).Select
End Sub

kodunu deneyin.

.
 
Katılım
25 Nisan 2007
Mesajlar
442
Excel Vers. ve Dili
Office 2010
Sub formullusec()
Selection.SpecialCells(xlFormulas).Select
End Sub

kodunu deneyin.

.
Sn. yurttas teşekkürler fakat verdiğiniz kod ile sayfa içerisinde topla eğersay gibi formül olan hücreleri de seçiyor. Sadece farklı sayfadan alınan (=Sayfa2!E16 gibi) hücreleri seçebilir miyiz?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,424
Excel Vers. ve Dili
excel 2010
merhaba
arama kriterinin ne olduğunu biliyorum ama nasıl yazılır düşünmek lazım.
eğer hücre formül içeriyorsa ve formül içersinde ! karakteri varsa başka sayfaya başvuruyordur.
not: ben yazamazsam bile başka arkadaşlar bu fikri değerlendirebilirler.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki kodları standart bir modül sayfasına kopyalayınız. "BaglantiBul "makrosunu çalıştırınız

Kod:
Option Explicit
Dim arr() As String
Sub Baglanti_Bul()
    Dim sh As Worksheet
    Dim i As Integer
    Dim rg As Range
 
    Set rg = Range("B2:E22") [COLOR=darkgreen]'Bu aralığı, değiştirebilirsiniz.[/COLOR]
 
    For Each sh In ThisWorkbook.Worksheets
        If rg.Worksheet.Name <> sh.Name Then
            i = i + 1
            ReDim Preserve arr(1 To i)
            arr(i) = sh.Name
        End If
    Next
 
    Call BaskaSayfadanGelenVeriler(rg)
    Set rg = Nothing
 
End Sub
 
'------------------------------------------------------
Private Sub BaskaSayfadanGelenVeriler(rng As Range)
    Dim hcr As Range
    Dim rgA As Range
    Dim i As Integer
 
    For Each hcr In rng.Cells
        If hcr.HasFormula Then
            For i = 1 To UBound(arr)
                If hcr.Formula Like "*" & arr(i) & "!*" Then
                    If rgA Is Nothing Then
                        Set rgA = hcr
                    Else
                        Set rgA = Application.Union(rgA, hcr)
                    End If
                End If
            Next i
        End If
    Next
 
    If Not rgA Is Nothing Then
        rgA.Select
    Else
        MsgBox rng.Worksheet.Name & " adl&#305; sayfadaki " _
                & Replace(rng.Address, rng.Worksheet.Name & "!", "") & _
                   "adresinde," & vbLf & _
                   "ba&#351;ka sayfadan bir ba&#287;lant&#305; bulunamad&#305;", _
                        vbCritical, _
                            "UYARI"
    End If
 
    Set rgA = Nothing
 
End Sub
 
Üst