• DİKKAT

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

Tüm Sekmelerin Sekme Adlarına Göre Dosya Çağırması

Katılım
13 Kasım 2010
Mesajlar
17
Excel Vers. ve Dili
Exel 2003
Exel 2007
Merhaba Öncelikle

Bu Makroda Deli Olmamak İçten Değil Bir Php Coder Olarak VB Az Anlarım Sıkıntım Şu

Elim De 200 Adet Sekmesi Olan Bir Exel Tablosu Var Bu Tablonun Herhangi Bir Sekmesinin İçindeki Örneğin a5 Hücresine DoubleClick Yaptığımda Bu Sekmenin Adında Veya Başka Bir Hücresinde Yazan Bir Metin Adındaki Dosyası Açması İstiyorum Ama Bir Türlü Beceremedim.

Aslında Öğrenmek İstedigim İkinci Şeyde Tüm Sekmeleri Bir SelectBox'a Attırıp Sayfanın Üstbölümüne Koymak Ve Hangisine Tıklanırsa Sayfanın Alt Bölümünde Bunun Görünmesi ? ~~
 
Merhaba Öncelikle

Bu Makroda Deli Olmamak İçten Değil Bir Php Coder Olarak VB Az Anlarım Sıkıntım Şu

Elim De 200 Adet Sekmesi Olan Bir Exel Tablosu Var Bu Tablonun Herhangi Bir Sekmesinin İçindeki Örneğin a5 Hücresine DoubleClick Yaptığımda Bu Sekmenin Adında Veya Başka Bir Hücresinde Yazan Bir Metin Adındaki Dosyası Açması İstiyorum Ama Bir Türlü Beceremedim.

Aslında Öğrenmek İstedigim İkinci Şeyde Tüm Sekmeleri Bir SelectBox'a Attırıp Sayfanın Üstbölümüne Koymak Ve Hangisine Tıklanırsa Sayfanın Alt Bölümünde Bunun Görünmesi ? ~~

Merhaba,

Sanırım aynı çalışmadaki sayfaları A5 den açmak istiyorsunuz.

ThisWorbook sayfasına kopyalayınız.

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _
ByVal Target As Range, Cancel As Boolean)
On Error GoTo son:
    If Intersect(Target, [A5]) Is Nothing Then Exit Sub
    Sheets("" & Target & "").Select
Exit Sub
son:
MsgBox "Sayfayı Bulamadım."
End Sub
2. istediğiniz de yapılır fakat aynı işlem excelin kendi özelliklerinde var. Sayfa sekmelerinin yanında bulunan ok simgelerinin üzerine fare ile sağ klik yaparsanız istediğiniz menü açılacaktır.

Bu işinizi görmezse form ile aynı işlemi yapabiliriz.

.
 
Kod:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, [A5]) Is Nothing Then Exit Sub
If Dir$(ThisWorkbook.Path & "\xxx\" & Target & ".xls") <> "" Then
CreateObject("Shell.Application").Open ThisWorkbook.Path & "\xxx\" & Target & ".xls"
Else
MsgBox "Bu isimde bir dosya bulunmamaktadır.", vbCritical, "DeVKaN KaFKaS"
End If
End Sub

Aslında İstedigim Böyle Bişey Fakat Burda A5 İçindeki Değeri Alıyor Ben A5 Tıklandığında A3 İçindeki Değere Git Desem Nasıl Yaparım Yani Bir Cell İçindeki Değer Nasıl Okunur


2. Evet Onu Biliyorum Şu An Öyle Kullanıyorum Fakat Sunum Yapıcam Fakat İlk Sayfada Tüm Sekmeleri Yazdırmak İstiyorum
 
Kod:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, [A5]) Is Nothing Then Exit Sub
If Dir$(ThisWorkbook.Path & "\xxx\" & [COLOR=red][B]Target[/B][/COLOR] & ".xls") <> "" Then
CreateObject("Shell.Application").Open ThisWorkbook.Path & "\xxx\" & [COLOR=red][B]Target[/B][/COLOR] & ".xls"
Else
MsgBox "Bu isimde bir dosya bulunmamaktadır.", vbCritical, "DeVKaN KaFKaS"
End If
End Sub

Aslında İstedigim Böyle Bişey Fakat Burda A5 İçindeki Değeri Alıyor Ben A5 Tıklandığında A3 İçindeki Değere Git Desem Nasıl Yaparım Yani Bir Cell İçindeki Değer Nasıl Okunur


2. Evet Onu Biliyorum Şu An Öyle Kullanıyorum Fakat Sunum Yapıcam Fakat İlk Sayfada Tüm Sekmeleri Yazdırmak İstiyorum

İlk sorunuz için üsteki kodlar da kırmızı ile işaretlediğim bölümlere [A3] yazmanız yeterli olacaktır.

İkinci sorunuz için,

Eğer amaçınız sayfa adlarını istediğiniz bir sayfanın A sütununa sıralı yazdırmak ise,

Kodları Module kopyalarak çalıştırınız..

Kod:
Sub SayfaYaz()
 
    Dim i As Integer, sat As Integer
    
    [A:A].ClearContents
 
    sat = 1
    For i = 1 To Worksheets.Count
        Cells(sat, "A") = Sheets(i).Name
        sat = sat + 1
    Next i
 
End Sub

Eğer yazılan sayfa isimlerine köprü eklemek isterseniz.

.
 
Geri
Üst