• DİKKAT

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

Satır Gizle ,Göster ve Ekle

Katılım
6 Ağustos 2012
Mesajlar
18
Excel Vers. ve Dili
2003
Merhabalar,veri girişi sayfasında bir adet ToggleButton1 var .Ben bu butonla veri girişinden harcırah ve görevlendirme sayfalarına bağlantı yaptım.Benim burda yapmak istediğim.Veri girişi sayfasında g9:g39 hücreleri arasında boş olanları harcırah ve görevlendirme sayfalarında satırları ToggleButton1 ile gizlemek ve göstermek istiyorum.Ayrıca harcırah ve görevlendirme sayfalarında kaç satır gizlendi ise gizlenen satır kadar harcırah sayfasında B42 satırından sonra,görevlendirme sayfasında g42 satırından sonra biçinlendirilmiş şekilde satır eklemek istiyorum.Makroyla böyle birşey yapılabilir mi?.Yardımcı olurmusunuz .Saygılar
 

Ekli dosyalar

Private Sub ToggleButton1_Click()

For Each verigzl In Range("G9:G39")
If ToggleButton1.Value = True And verigzl = "" Then
'bos = bos + 1

a = verigzl.Address
Range(a).EntireRow.Hidden = True
End If

Next

For Each verigst In Range("G9:G39")
If ToggleButton1.Value = False And verigst = "" Then


a = verigst.Address
Range(a).EntireRow.Hidden = False
End If

Next


End Sub
 
Sayın Bedersu teşekkür ederim.Sizin yapmş olduğunuz makro veri girişindeki satırları gizliyor.Benim istediğim veri girişindeki satırlarda boş olan satırların harcırah ve görevlendirme sayfasındaki satırların gizlenmesi ve görüntülenmesi örneğin; veri sayfasında G10 hücresinde veri yoksa harcırah sayfasında g10 hücresinin ,görevlendirme sayfasında ise g13 satırının gizlenmesi gibi
 
Sayın Metin1981,
Kodları şu şekilde dener misiniz?


Private Sub ToggleButton1_Click()

For Each verigzl In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = True And verigzl = "" Then
'bos = bos + 1

a = verigzl.Address
Sheets("HARCIRAH").Range(a).Offset(3, 0).EntireRow.Hidden = True
Sheets("görevlendirme").Range(a).Offset(3, 0).EntireRow.Hidden = True

End If

Next

For Each verigst In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = False And verigst = "" Then


a = verigst.Address
Sheets("HARCIRAH").Range(a).Offset(3, 0).EntireRow.Hidden = False
Sheets("görevlendirme").Range(a).Offset(3, 0).EntireRow.Hidden = False
End If

Next


End Sub
 
Günaydın; Sayın Bedersu kodlar tam sağlıklı bir şekilde çalışmıyor.Veri girişi sayfasındaki hücrelere atlayarak veri girdiğim zaman ,harcırah ve görevlendirme sayfalarındaki satırlar tam olarak gizlenip gösterilmiyor.
 

Ekli dosyalar

Sayın Metin1981,
Kodlarda sıkıntı yok ama anlam vermediğim bir şekilde sadece ilk hücre boş bırakıldığında offset hatalı işlem yapıyor ve ben bunu çözemedim.Müsaade ederseniz dosyanızı kullanarak yeni bir başlık altında bu konuyu sormak istiyorum üstatlara.
 
Sayın Levent Menteşoğlu'nun yardımlarıyla sorun çözüldü sayın Metin1981.Dosya ektedir.Kodlar şu şekilde :

Kod:
Private Sub ToggleButton1_Click()
For Each verigzl In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = True And verigzl = "" Then

a = verigzl.Offset(3, 0).Address

Sheets("HARCIRAH").Range(a).EntireRow.Hidden = True
Sheets("görevlendirme").Range(a).EntireRow.Hidden = True

End If

Next

For Each verigst In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = False And verigst = "" Then


a = verigst.Offset(3, 0).Address
Sheets("HARCIRAH").Range(a).EntireRow.Hidden = False
Sheets("görevlendirme").Range(a).EntireRow.Hidden = False
End If

Next
End Sub
 

Ekli dosyalar

Günaydın ,Sayın Bedersu kodlar yine çalışmıyor.Veri girişi sayfasında g9 ve g39 hücrelerindeki verileri silip gizle dediğimde ilgili satırlar gizleniyor.Tekrar veri girdiğimde ise satırlar gösterilmiyor.Ayrıca veri girişi sayfasındaki g29:g31 hücrelerini silip tekrar gizle-göster dediğimde ise ilgili sayfalarda satırlar gizlenip-gösterilmiyor.Örnekte belirtildiği gibi
 

Ekli dosyalar

Sayın Metin1981,

Aşağıdaki satırı değiştirir misiniz?

Kod:
For Each verigst In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = False Then
 
Sayın Bedersu sizi uğraştırdığım için çok çok özür diliyorum.Kodlar şimdi gayet güzel çalışıyor.Sizden ek bir şey istesem yapabilirmisiniz ?
 
Sayın Metin1981,
Bu forumdaki eski-yeni tüm arkadaşlar soruları ve sorunları çözmek için burada.Bilgimiz yettiği sürece her türlü soru ve sorunu halletmeye çalışacağız tabi ki.
 
Sayın Bedersu ,aynı makroya ilave olarak harcırah sayfasında B42 ve görevlendirme sayfasında ise g42 satırından sonra kaç satır gizlendiyse o kadar satır ilave edilebilir mi? (Biçimlendirilmiş şekliyle)
 
Sayın Metin1981,
İstediğiniz şekilde satır eklenebilir ama her satır gizlemede aşağıya satır ekler.Eğer bu şekilde istiyorsanız kodlar aşağıda:

Kod:
Private Sub ToggleButton1_Click()
For Each verigzl In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = True And verigzl = "" Then

a = verigzl.Offset(3, 0).Address
satır = satır + 1
Sheets("HARCIRAH").Range(a).EntireRow.Hidden = True
Sheets("görevlendirme").Range(a).EntireRow.Hidden = True

End If

Next

aa = Range(a).Offset(-1, -6).Address
aaa = Range(aa).Offset(satır - 1, 10).Address
bb = Range(a).Offset(-1, -2).Address
bbb = Range(bb).Offset(satır - 1, 0).Address

    Sheets("HARCIRAH").Range(aa & ":" & aaa).Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove

    Sheets("görevlendirme").Range(bb & ":" & bbb).Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove

For Each verigst In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = False And verigst = "" Then


a = verigst.Offset(3, 0).Address
Sheets("HARCIRAH").Range(a).EntireRow.Hidden = False
Sheets("görevlendirme").Range(a).EntireRow.Hidden = False
End If

Next
End Sub
 
Sayın Metin1981,
Şu kodları dener misiniz?

Kod:
Private Sub ToggleButton1_Click()
On Error GoTo bura:
For Each verigzl In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = True And verigzl = "" Then
a = verigzl.Offset(3, 0).Address
satır = satır + 1
Sheets("HARCIRAH").Range(a).EntireRow.Hidden = True
Sheets("görevlendirme").Range(a).EntireRow.Hidden = True

End If
stre = stre + 1

Next
aa = Range(a).Offset(-1, -6).Address
aaa = Range(aa).Offset(satır - 1, 10).Address
bb = Range(a).Offset(-1, -2).Address
bbb = Range(bb).Offset(satır - 1, 0).Address
Sheets("HARCIRAH").Select
    Sheets("HARCIRAH").Range(aa & ":" & aaa).Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
Sheets("görevlendirme").Select
    Sheets("görevlendirme").Range(bb & ":" & bbb).Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
bura:
For Each verigst In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = True Then End

If ToggleButton1.Value = False And verigst = "" Then
satır2 = satır2 + 1

End If
stre2 = stre2 + 1
Next

'a = verigst.Offset(4 - satır2, 0).Address
Sheets("HARCIRAH").Range("B12:B" & 12 + stre2).EntireRow.Hidden = False
Sheets("görevlendirme").Range("G12:G" & 12 + stre2).EntireRow.Hidden = False

End Sub
 
Sayın Bedersu koda satır ekleme ilave olduktan sonra kodlar da karışıklık meydana geldi.İlgili satırlar gizlenip-görüntülenmiyor.Benim istediğim örneğin veri girşi sayfasında 17 inci satırı boş bırakıp harcırah ve görevlendirme sayfalarında bu sata karşılık gelen satırın gizlenmesi ve eklenen satır bu satırdan sonra değilde harcırah ve görevlendirme sayfalarında en son satıra ilave olmasıydı.
 
Sayın Metin1981,
Şu şekilde dener misiniz?İnşallah olmuştur bu sefer.

Kod:
Private Sub ToggleButton1_Click()
On Error GoTo bura:
For Each verigzl In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = True And verigzl = "" Then
a = verigzl.Offset(3, 0).Address
satır = satır + 1
Sheets("HARCIRAH").Range(a).EntireRow.Hidden = True
Sheets("görevlendirme").Range(a).EntireRow.Hidden = True

End If
stre = stre + 1

Next
'aa = Range(a).Offset(-1, -6).Address
'aaa = Range(aa).Offset(satır - 1, 10).Address
'bb = Range(a).Offset(-1, -2).Address
'bbb = Range(bb).Offset(satır - 1, 0).Address
If satır = 0 Then GoTo bura:
dlstr = WorksheetFunction.CountA(Sheets("veri girişi").Range("G:G"))
Sheets("HARCIRAH").Select
    Sheets("HARCIRAH").Rows("42:42").Select
    Selection.Copy

    Sheets("HARCIRAH").Range("A43:I" & 11 + stre + satır).Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
        Selection.PasteSpecial Paste:=xlPasteFormats
Selection.ClearContents

Sheets("görevlendirme").Select
    Sheets("görevlendirme").Rows("42:42").Select
    Selection.Copy

    Sheets("görevlendirme").Range("A43:K" & 11 + stre + satır).Select
    Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
            Selection.PasteSpecial Paste:=xlPasteFormats
Selection.ClearContents
bura:
For Each verigst In Sheets("veri girişi").Range("G9:G39")
If ToggleButton1.Value = True Then End

If ToggleButton1.Value = False And verigst = "" Then
satır2 = satır2 + 1

End If
stre2 = stre2 + 1
Next

'a = verigst.Offset(4 - satır2, 0).Address
Sheets("HARCIRAH").Range("B12:B" & 12 + stre2).EntireRow.Hidden = False
Sheets("görevlendirme").Range("G12:G" & 12 + stre2).EntireRow.Hidden = False

End Sub
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 

Ekli dosyalar

Son düzenleme:
Sayın Bedersu size çok zahmet verdiğim için özür diliyorum.Satır ekleme ve satır gizlemede sorun yok.Ancak kenarlık biçimlendirmesi Harcırah sayfasında istediği şekilde olmuyor.Sizden ricam son olarak ekteki örnekte satır eklemeyi Harcırah sayfalasında 43 üncü satırdaki biçimlendirilmiş şekliyle yapılabilir mi?.Ayrıca Eklenen satırlar Veri girişinde boş olan satırlara giriş yaptığım zaman silinebilirmi?
 

Ekli dosyalar

Geri
Üst