ayrı sayfalardan belli koşullara uyan yıldızların ismini almak

Katılım
15 Mart 2012
Mesajlar
14
Excel Vers. ve Dili
Excel 2003 English
Merhabalar,
Öncelikle sitede arama yaptığımı belirtmek istiyorum. Ama ne kadar aradıysam da bulamadım çözümü. O yüzden yeni konu açmak zorunda kaldım.

Şimdi ben ne yaptığımı anlatayım: Şu anki tarihten itibaren bir aylık süreyi kapsayan aralıkta, belli yıldızların gözlenmesi gereken tarih ve saati hesaplayan bir çizelge hazırladım. Her yıldız için farklı sheet açtım ve hesaplamaları o sheet içinde yaptırdım.
Tarih ve saat, F ile J sütunları arasında gün ay yıl saat ve dakika şeklinde görünüyo. İlgili yıldız, C sütununda "YEŞİL" renge boyanmış hücrelere karşılık gelen tarihte gözlenmeli.
Gördüğünüz gibi yıldızlara göre gözlem yapılması gereken tarihleri hesaplamış oluyorum. Ancak benim bunları bir de "tarihe göre gözlenmesi gereken yıldız isimleri" şeklinde göstermem gerekiyo. Yani "Sheet 1" e, gün gün gözlenmesi gereken yıldızların isimlerini yazdırmalıyım.

Bunu bir türlü beceremedim. Sorumu size net bir şekilde anlatabildim mi onu da bilmiyorum ama yardım edebilirseniz çok sevinirim. Birkaç gündür uğraşıyorum. Excel 2003 İngilizce kullanıyorum.

dosyanın boyutu 9mb olduğundan ekleyemedim, linki: https://hotfile.com/dl/149757984/9ed24c8/V1309_Sco_Benzeri_ift_Yldzlarn_Evre_Hesab.xls.html
 
Son düzenleme:

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Eklediğiniz örnekleri daha sade ve anlaşılır seçerseniz bizim anlamamız da okadar kolay olur. Karışık bir tablo eklemişsiniz ve dosya içerisinde açıklama da göremedim. Halbuki sorunuzu özetleyen küçük bir örnek hazırlayıp ekleyebilirdiniz.

Tablo da bu kadar formül kullanarak hangi sonuçları buldunuz anlamadım.

Örneğin Sheet1 A3 hücresine =TARİH(YIL(ŞİMDİ());AY(ŞİMDİ());GÜN(ŞİMDİ())) yazmak yerine,

=bugün() ~ =date() yazmanız yeterliydi.

Sorunuza gelince. Sheet1 de hangi sonuçları görmek istiyorsunuz. Örneğin "AO_Cas" sayfasındaki hangi hücreler Sheet1 de hangi hücrelere gelecek.

Bu haliyle tablo içinde kayboldum desem yalan olmaz.
 
Katılım
15 Mart 2012
Mesajlar
14
Excel Vers. ve Dili
Excel 2003 English
Haklısınız, ben sorumun bir örneğini değil de hazırlamakta olduğum gözlem programının tamamını göndermiştim, o yüzden çok karmaşık görünüyor. Bir yıldızı gözlemek her vakit mümkün olmuyor, gözlenebileceği saat ve tarihi bulmak için pek çok dönüşüm ve hesap yapmak gerekiyor, o yüzden o kadar çok formül kullandım. Tabi excel bilgimin yeterli olmadığı kısımda kısa bir yol varsa onları uzun yoldan halletmiş olabilirim:)

AO_Cas örneği için görmek istediğim sonuç şu: AO_Cas sayfasında C sütununda grup grup yeşile boyalı hücreler var. Mesela AO_Cas sayfasında aşağı doğru inerken karşılaştığımız ilk yeşil boyalı gruba karşılık gelen tarih 19.03. Ben istiyorum ki Sheet1'de 19.03 tarihinin yanındaki hücreye AO_Cas yazılsın.

AO_Cas sayfasında yeşile boyalı alanlara karşılık gelen tarihler: 19.03 - 23.03 - 27.03 - 30.03 - 03.04 - 06.04 - 10.04 - 13.04 - 17.04
Ben istiyorum ki Sheet1'de bu tarihlerin yan hücresine "AO_Cas" yazılsın. Durumu açıklayabildim mi acaba?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
AO_Cas sayfasında yeşile boyalı alanlara karşılık gelen tarihler: 19.03 - 23.03 - 27.03 - 30.03 - 03.04 - 06.04 - 10.04 - 13.04 - 17.04
Ben istiyorum ki Sheet1'de bu tarihlerin yan hücresine "AO_Cas" yazılsın.
Module kopyalayın ve bir butona atayarak çalıştırın.

İstediğiniz veriler Sheet1 de listelenir. Listeleme esnasında verilere kolay ulaşabilmeniz için kodlara köprü özelliğini de ekledim. Listelenen verileri fare ile seçerseniz ilgili sayfanın gelen verisi aktif olur.

Kod:
Sub YildizListele()
 
    Dim j As Integer, i As Long, c As Range
    Dim trh As Date, sut As Integer, adres As String
 
    With Application
        .ScreenUpdating = False
        .Calculation = xlManual
    End With
 
    Sheets("Sheet1").Select
    Range(Cells(1, 2), Cells(Rows.Count, Columns.Count)).Clear
 
    For j = 1 To Worksheets.Count
      With Sheets(j)
        If .Name <> "Sheet1" Then
          If Not .Range("B2") = "" Then
            For i = 8 To .Cells(Rows.Count, "C").End(xlUp).Row
              If .Cells(i, "C") <= 0.01 Or .Cells(i, "C") >= 0.99 Then
                trh = .Cells(i, "F") & "." & .Cells(i, "G") & "." & .Cells(i, "H")
                Set c = Range("A:A").Find(trh, , xlValues, xlWhole)
                If Not c Is Nothing Then
                  sut = Cells(c.Row, Columns.Count).End(xlToLeft).Column + 1
                  Cells(c.Row, sut) = .Cells(i, "C")
                  adres = "'" & .Name & "'!" & .Cells(i, "C").Address
                  ActiveSheet.Hyperlinks.Add Cells(c.Row, sut), "", adres, adres
                End If
              End If
            Next i
          End If
        End If
      End With
    Next j
 
    With Application
        .ScreenUpdating = True
        .Calculation = xlAutomatic
    End With
 
End Sub
.
 
Katılım
15 Mart 2012
Mesajlar
14
Excel Vers. ve Dili
Excel 2003 English
Module kopyalayın ve bir butona atayarak çalıştırın.
İstediğiniz veriler Sheet1 de listelenir. Listeleme esnasında verilere kolay ulaşabilmeniz için kodlara köprü özelliğini de ekledim. Listelenen verileri fare ile seçerseniz ilgili sayfanın gelen verisi aktif olur.

.
Size ne kadar teşekkür etsem azdır. Kaç gündür uğraşıyorum. Ayrıca istdiğim şeyin olması bir yana, üstüne bir de çok güzel özellik eklemişsiniz. Siteyi zaten uzun zamandır takip ediyorum, herkes çok yardımcı oluyor birbirine ama bu kadar kısa sürede bu kadar ilgilenen biri olacağını tahmin etmemiştim. Gerçekten çok sağolun, emeğinize sağlık. Sayenizde çok işlevsel bir tablo oldu:dua:
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Rica ederim. Güle güle kullanın.
 
Üst