• DİKKAT

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

For a = 1 To [a65536].End(3).Row

Katılım
30 Mayıs 2008
Mesajlar
75
Excel Vers. ve Dili
EXCEL 2007
arkadaşlar bu makro sadece a sütununda çalışıyor ve hücrelerde çalışmayan linklerin renklerini değiştiriyor. ben bunu tüm sayfaya uygulamak istiyorum. tüm sayfa için makro nasıl yazılabilir?

Sub linkkontrol()
For a = 1 To [a65536].End(3).Row
If Cells(a, "a").Hyperlinks.Count > 0 Then
yol = Range("a" & a).Hyperlinks.Item(1).Address
If Dir(yol) = "" Then Cells(a, "a").Interior.ColorIndex = 36
End If
Next
End Sub
 
Merhaba.

Anladığım kadarıyla linkli hücreleri sarıya boyamak istiyorsunuz.

Bu kontrolu tüm sayfada yapmak zaman alabilir. O yüzden kullanılan hücrelerde kontrol yapmak sanırım daha hızlı olur. Yine de Tüm Sayfada kontrol yapmak isterseniz aşağıda kodda verdiğim Koyu Kırmızı olan yeri cells olarak değiştirmelisiniz.

Kod:
Sub linkkontrol()
For Each Hücre In [B][COLOR=red]Sheets(1).UsedRange[/COLOR][/B]
    If Hücre.Hyperlinks.Count > 0 Then
        yol = Hücre.Hyperlinks.Item(1).Address
        If Dir(yol) <> "" Then Hücre.Interior.ColorIndex = 36
    End If
Next Hücre
End Sub
 
hocam peki belli satır ve sütun aralığında aratmak istediğimde kırmızı yere ne yazmam gerek? mesela a1 ile g20 hücreleri arasındaki linklerin çalışıp çalışmadığını nasıl kontrol edebilirim??
 
Sub linkkontrol()

For Each Hücre In Range("a1:g20")
If Hücre.Hyperlinks.Count > 0 Then
yol = Hücre.Hyperlinks.Item(1).Address
If Dir(yol) <> "" Then Hücre.Interior.ColorIndex = 36
End If
Next Hücre

End Sub


yukarıdaki makroyu yazdım ama çalışmıyor??
 
Bende çalıştı yazdığınız makro.
 
Merhaba,

Aşağıdaki gibi yapınca çalıştı.

Kod:
Sub LinkKontrol()
For Each Hücre In Range("a1:g20")
    If Hücre.Hyperlinks.Count > 0 Then Hücre.Interior.ColorIndex = 36
Next Hücre
End Sub
 
evet linkli hücreler şuan boyanıyor ama linki kırık olanlar da boyanıyor. linke bağlı dosyanın silindiğini yada adının değiştiğini yani köprü bozulduğunu anlamam gerek.
 
Günaydın.

Aşağıdaki kodları dener misiniz? Link var ve doğru ise sarı, Link var ve dosya yoksa kırmızı gösteriliyor.

Kod:
Sub LinkKontrol()
For Each Hücre In Range("a1:g20")
    If Hücre.Hyperlinks.Count > 0 Then
        yol = Hücre.Hyperlinks.Item(1).Address
        If Dir(yol) = "" Then
            Hücre.Interior.ColorIndex = 36
        Else
            Hücre.Interior.ColorIndex = 3
        End If
    End If
Next Hücre
End Sub
 
kırmızı olmadı hocam, deniyorum önce sarı oluyor, sonra bağlandığı dosyayı siliyorum, tekrar makroyu çalıştırıyorum ama bir değişiklik olmuyor
 
Evet haklısınız.
Dosya adını alıyor ama Dir komutu sanırım path olmadığı için doğru sonuç üretmiyor.
Bilgim bunu çözmeye yetmiyor.
Belki bir bilen olursa benden yararlanmış olurum.
 
peki şöyle sorsam, bakın bu makro çalışıyor;

Sub linkkontrol()
For a = 1 To [a65536].End(3).Row
If Cells(a, "a").Hyperlinks.Count > 0 Then
yol = Range("a" & a).Hyperlinks.Item(1).Address
If Dir(yol) = "" Then Cells(a, "a").Interior.ColorIndex = 36
End If
Next
End Sub

burada sadece a sütunu etkileniyor . makroyu nasıl değiştirmem gerekir ki a1 ile g20 arasındaki hücreler etkilensin.
 
Çalışıyor dediğiniz makronun daha önce verdiğim kodlardan bir farkı yok.
Ama illa çalışıyor diyorsanız şöyle olmalı : ki bunuda önermiştim.

Kod:
Sub LinkKontrol()
For Each hücre In Range("a1:g20")
    If hücre.Hyperlinks.Count > 0 Then
        yol = hücre.Hyperlinks.Item(1).Address
        If Dir(yol) = "" Then hücre.Interior.ColorIndex = 36
    End If
Next hücre
End Sub
 
For a = 1 To [a65536].End(3).Row

satırında adresi doğru belirtirsek makronun çalışacağını zannediyorum...
 
For a = 1 To [a65536].End(3).Row

satırında adresi doğru belirtirsek makronun çalışacağını zannediyorum...

Bende birşeyler yazmak istiyorum.Bence (kendi fikrim ) veri uzun oldugu zaman kodu

Kod:
For a = [a65536].End(3).Row To 1 Step-1

şeklinde kullanmak kanımca daha iyidir.

Yazmak istedim.
 
arkadaşlar çalıştı dediğim makro da çalışmıyor, ama çalışmıştı ve denemiştim.neden şuan çalışmıyor anlayamadım. saatler sürecek işi kurtarmıştı ama artık çalışmıyor. bunun çözümünü bilen kimse yok mu?
 
Geri
Üst