clearcontents komutu

Katılım
4 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
excel
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:F]) Is Nothing Then Exit Sub
x = Target.Row
y = Target.Column
If Sheets("mud").Cells(x, y) <> "" Then
MsgBox ("Mud sayfasındaki ilgili hücre dolu.")
Cells(x,y).ClearContents
Exit Sub
Else
Sheets("mud").Cells(x, y) = Target
End If
End Sub

arkdaslar kırmızı olan yeri ekledigimde sonsuz döngü olusuyor. ama hücre dolu oldugunda aylık sayfasına yazdıgımın silinmesini istiyorum(mud sayfasında var ise)
tesekkürler...
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,746
Excel Vers. ve Dili
Excel 2019 Türkçe
Umarım doğru anlamışımdır. Kodu aşağıdaki şekilde değiştirdim.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A:F]) Is Nothing Then Exit Sub
x = Target.Row
y = Target.Column
If Sheets("mud").Cells(x, y) <> "" Then
MsgBox ("Mud sayfasındaki ilgili hücre dolu.")
Sheets("mud").Cells(x, y).ClearContents
Exit Sub
Else
Sheets("mud").Cells(x, y) = Target
End If
End Sub
 
Katılım
4 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
excel
benim istedigim girdigim aylık isimli sayfadan yazılanların silinmesi mud sayfası değilde aylık sayfası Sheets("aylık").Cells(x,y).ClearContents dedigimde döngüden çikmiyor sınırsız döngü oluşuyor.
ne yapabilirimmm:yardim:
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,746
Excel Vers. ve Dili
Excel 2019 Türkçe
D&#246;ng&#252; olu&#351;mas&#305;n&#305;n sebebi mud sayfas&#305;ndaki verinin hep dolu olmas&#305;.
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Sn sta2003

Dosyanızdaki makroyu biraz değiştirdim, umarım bu sefer istediğiniz gibi olmuştur.
 
Katılım
4 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
excel
öncellike çok tesekkür ederim mehmet bey. sanırım yazdiginiz program bazı yerlerde calşmiyor uygulama yapma için degerler verdigimde mud sayfasinda deger yokken dolu oldugunu gösteriyor..
 
Katılım
4 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
excel
son yazdıgınız porgramda aylık sayfasında girilen deger mud de herhangi biryerde varsa kabul etmiyor. sanırım ben yanşıl aktardım.
benim ihtiyacım olan program, aylık sayfasına bir hücreye girdigim sayı mud sayfasında aynı hücre herhangi bir sayı ile dolu ise msj versin ve aylık sayfasına girdigim sayıyı silsin.

çok tesekkür ederim SN. MEHMETT
 
Katılım
4 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
excel
Sn Mehmett

ekdeki dosya istedigim gibi cali&#351;iyor benim ihtiyac&#305;m olan program, ayl&#305;k sayfas&#305;na bir h&#252;creye girdigim say&#305; mud sayfas&#305;nda ayn&#305; h&#252;cre herhangi bir say&#305; ile dolu ise msj versin ve ayl&#305;k sayfas&#305;na girdigim say&#305;y&#305; silsin.
&#231;ok tesekk&#252;rler.....
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
Bir de şöyle deneyelim;
 
Katılım
4 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
excel
Sn Mehmett
çok tesekkürler ewet yapmak istedigim buydu. ilginiz için çok tesekkürler.
son birsey sorsam acaba kırmızı işaretli kısımların nedeni nedir? neden 10 ve vbokonly "dikkat" ne anlama geliyor çok sağolun tesekkürler gerçekten....



Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [A:F]) Is Nothing Then Exit Sub
If Target = "" Then Exit Sub
x = Target.Row
y = Target.Column
If Sheets("mud").Cells(x, y) <> "" Then
10 Target = ""
MsgBox "Mud sayfasındaki ilgili hücre dolu.", vbOKOnly, "Dikkat"Exit Sub
Else
Sheets("mud").Cells(x, y) = Target
End If
End Sub
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
K&#305;rm&#305;z&#305; renkle i&#351;aretledi&#287;iniz yerler kod denemeleri yaparken silmeyi unuttu&#287;um k&#305;s&#305;mlard&#305;r. &#350;imdi silebilirsiniz. Ama bunlar&#305;n ne i&#351; yapt&#305;&#287;&#305;n&#305; k&#305;saca anlatay&#305;m.

10 say&#305;s&#305;, sat&#305;r numaras&#305;d&#305;r. Kodun bir yerinde "bir &#351;arta ba&#287;l&#305; olarak" birka&#231; sat&#305;r atlatmak istedi&#287;imizde GoTo 10 deriz ve kod 10'a kadar olan satr&#305;lar&#305; atlam&#305;&#351; olur. &#350;art sa&#287;lanmazsa 10 nolu sat&#305;ra atlamadan kald&#305;&#287;&#305; yerden devam eder.

vbOKOnly ise MsgBox'un &#252;zerinde yer alan tu&#351;lar&#305; belirler.

&#214;rnek:

vbOKOnly: sadece TAMAM tu&#351;u i&#231;erir

vbOKCancel: TAMAM ve &#304;ptal tu&#351;lar&#305;

vbRetryCancel: Yeniden dene ve &#304;ptal tu&#351;lar&#305;

vbYesNo: Evet Hay&#305;r tu&#351;lar&#305;

Yani mesaj&#305;n i&#231;eri&#287;ine g&#246;re tu&#351;lar ekleyebilirsiniz.

MsgBox'ta "&#350;u i&#351;lemi yap&#305;yorum onayl&#305;yormusunuz?" &#351;eklinde bir soru sordurabilirsiniz. Bu durumda MsgBox'a Evet Hay&#305;r tu&#351;lar&#305; ekleyip cevap olarak bunlardan birini t&#305;klayabilirsiniz. &#214;rnekler &#231;o&#287;alt&#305;labilir.

Dikkat kelimesi ise MsgBox'&#305;n &#252;st&#252;ndeki mavi &#231;ubukta g&#246;r&#252;lecek kelimedir. Hi&#231; bir &#351;ey yazmazsan&#305;z "Microsoft Excel" yaz&#305;s&#305; &#231;&#305;kar. Bunlar&#305; deneyip g&#246;rebilirsiniz.

Yukar&#305;da da belirtti&#287;im gibi k&#305;rm&#305;z&#305; renkle i&#351;aretledi&#287;iniz k&#305;s&#305;mlar&#305; silebilirsiniz.
 
Katılım
4 Ekim 2006
Mesajlar
17
Excel Vers. ve Dili
excel
Sayın Mehmett ilginize gerçekten çok teşekkür ederim. çok sağolun. iyi çalışmalar...
 
Katılım
15 Ocak 2013
Mesajlar
116
Excel Vers. ve Dili
2010 Turkce
Kod:
 [COLOR="Red"]Sheets("Btck").Columns(135).ClearContents
Sheets("Btck").Columns(136).ClearContents[/COLOR]
For q = 1 To [F:F].Find("*", , , , xlByRows, xlPrevious).Row
If Cells(q, 6) = "Eşit Olanlar" Then
[ee1048576].End(xlUp).Offset(1, 0) = Cells(q, 1)
[ef1048576].End(xlUp).Offset(1, 0) = Cells(q, 2)
Range(Cells(q, 1), Cells(q, 43)).Interior.Color = 8641970
     With Range(Cells(q, 1), Cells(q, 43)).Font
        .Color = -16776961
        .TintAndShade = 0
    End With
End If

Next q
If [EE4] <> "" Then
If [EF4] <> "" Then
MsgBox "Sistemdeki veriler aynı.", vbInformation, "By DRK"
UserForm4.Show
End If
End If
arkadaşlar merhaba. Konu tarihi çok eski ama konu ile benzer olduğu için başlık açmadım ve buradan yazmak istedim. Şimdi sıkıntım şu: Kırmızı renkle belirttiğim yerde ben "EE" ve "EF" sütunlarına denk gelen Columns verilerini ClearContents ile temizliyorum fakat benim istediğim yine aynı sütunlardaki verileri "EE" ve "EF" sütunlarının 1.satırından itibaren temizlemesin de 2. satırdan itibaren dolu satırca temizleme yapsın istiyorum bu mümkünmüdür? Mümkünse bunu hangi komut ile gerçekleştirebilirim? Bir sorum daha var yukardaki komut bana bir userform uyarı penceresi olarak geliyor ama şöyle bir sıkıntım var ben komutu aynı userform üzerinde çalıştırıp listbox1 listeletiyorum. Fakat sistem bana userform1.show kısımında hata veriyor. GÖrüntülenemedi diyor acaba neden olabilir. Aynı userformda yaptığım için mi olmuyor. Sebebini anlayamadım bir türlü. Yardımlarınızı bekliyorum. teşekkürler.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Temizlik için buyurun.:cool:
Kod:
Range("EE2:EF" & Rows.Count).ClearContents
 
E

ExcelF1

Misafir
Userform açık olmasın ? (yani görüntü olarak diğer formun altında kalmış olmasın)
Zira açık olan form, 2.kez açılmaz.
 
Katılım
15 Ocak 2013
Mesajlar
116
Excel Vers. ve Dili
2010 Turkce
Userform açık olmasın ? (yani görüntü olarak diğer formun altında kalmış olmasın)
Zira açık olan form, 2.kez açılmaz.
hocam aslında yapmak istediğim şey aynı userformda butonla kodu çalıştırıp msgbox uyarıyı verip aynı userformdaki listboxlarda listelemek yani userform açık kalıyor. Söylediğinizden anladığım kadarı ile farklı userformlarda olması gerekiyor sanırım.
 
E

ExcelF1

Misafir
Bu şekilde örnek bir dosya olmadan ne yaptığınızı anlamaya çalışmak zor oluyor. Yine de,

Yapacağınız işlem için userformu tekrar çağırmak zorunda değilsiniz.
Butona kodlarınızı yazın, mesajınızı görün.
Sonra listboxunuz kodlarını msgbox'un altına tekrar yazın. (veya listbox kodlarınızın olduğu yere gönderme yapın)

Kolay gelsin.
 
Üst