Makroyu Bir Koşula Bağlama

mozyildirim

Altın Üye
Katılım
3 Nisan 2015
Mesajlar
28
Excel Vers. ve Dili
2019 TR
Selamlar,

Excelde PW isimli sekmede E sütununu A dan Z ye sıralamak için kaydettiğim bu makroyu kullanıyorum.
Bu makroya bir ekleme yapmak istedim.

Misal ALİ isimli sekmenin J14 hücresinde GİZLİ yazıyorsa makro çalışmasın, hatta açık olmalıdır diye uyarı pop up ı açsın veya makronun çalışması için kullanıcıyı uyaran bir yazı da olur.

Bu mümkün müdür? Yardımını esirgemeyen dostlara şimdiden bir teşekkürü borç bilirim.

Kod:
Sub alici_sirala()
'
' alıcı_sırala Makro
'

'
    ActiveWorkbook.Worksheets("PW").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("PW").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "E:E"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("PW").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
28,901
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Kendinize göre düzenlersiniz.

C++:
Sub alici_sirala()
'
' alıcı_sırala Makro
'

'
    If Sheets("ALİ").Range("J14") = "GİZLİ" Then
        MsgBox "ALİ sayfasının J14 hücresini kontrol ediniz!", vbCritical
        Exit Sub
    End If
    ActiveWorkbook.Worksheets("PW").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("PW").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "E:E"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("PW").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 

mozyildirim

Altın Üye
Katılım
3 Nisan 2015
Mesajlar
28
Excel Vers. ve Dili
2019 TR
Kendinize göre düzenlersiniz.

C++:
Sub alici_sirala()
'
' alıcı_sırala Makro
'

'
    If Sheets("ALİ").Range("J14") = "GİZLİ" Then
        MsgBox "ALİ sayfasının J14 hücresini kontrol ediniz!", vbCritical
        Exit Sub
    End If
    ActiveWorkbook.Worksheets("PW").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("PW").AutoFilter.Sort.SortFields.Add2 Key:=Range( _
        "E:E"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("PW").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
@Korhan Ayhan hocam peki tüm sheetlerde geçerli olması için
If Sheets("ALİ").Range("J14") = "GİZLİ" Then

ne yapmalıyız?
 

mozyildirim

Altın Üye
Katılım
3 Nisan 2015
Mesajlar
28
Excel Vers. ve Dili
2019 TR
If Range("J14").Value = "GİZLİ" Then

yaptım, oldu :)

iyi çalışmalar, hayırlı işler.
 
Üst