Note: The other languages of the website are Google-translated. Back to English

Excel'de başka bir hücrenin değeri değişirse, belirtilen hücre içeriği nasıl temizlenir?

Başka bir hücrenin değeri değiştirilirse, belirli bir hücre içeriğini temizlemek istediğinizi varsayarsak, bunu nasıl yapabilirsiniz? Bu gönderi size bu sorunu çözmek için bir yöntem gösterecektir.

VBA kodu ile başka bir hücrenin değeri değişirse, belirtilen hücre içeriğini temizleyin


VBA kodu ile başka bir hücrenin değeri değişirse, belirtilen hücre içeriğini temizleyin

Aşağıda gösterilen ekran görüntüsü gibi, A2 hücresindeki değer değiştirildiğinde, C1 hücresindeki içerik: C3 otomatik olarak silinecektir. Lütfen aşağıdaki işlemleri yapın.

1. Çalışma sayfasında, hücre içeriğini başka hücre değişikliklerine göre temizleyeceksiniz, sayfa sekmesine sağ tıklayıp Kodu Görüntüle bağlam menüsünden. Ekran görüntüsüne bakın:

2. Açılışta Uygulamalar için Microsoft Visual Basic penceresinde, VBA kodunu kopyalayıp Kod penceresine yapıştırın.

VBA kodu: Başka bir hücrenin değeri değişirse belirtilen hücre içeriğini temizleyin

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2")) Is Nothing Then
        Range("C1:C3").ClearContents
    End If
End Sub

not: Kodda, B2, hücre içeriğini temel alarak temizleyeceğiniz hücredir ve C1: C3, içeriğini temizleyeceğiniz aralıktır. Lütfen ihtiyacınız olduğu gibi değiştirin.

3. Tuşuna basın. Ara Toplam + Q kapatmak için anahtarlar Uygulamalar için Microsoft Visual Basic pencere.

Ardından, C1 aralığındaki içeriği görebilirsiniz: C3 hücresindeki değer aşağıda gösterilen ekran görüntüsü gibi değiştiğinde otomatik olarak temizlenir.


İlgili yazılar:


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (38)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Başka bir değişiklik harika çalışıyorsa bir hücreyi temizleme kodu !!!! Ama bunun tam tersi şekilde çalışmasına ihtiyacım var..... Bu kod nasıl yazılır?


Yardımlarınız için teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sevgili Scott,
Tam tersi çalışmak ne demek? Belirli hücrelerin (C1:C3) içeriğini manuel olarak temizlediğinizde, ardından A2 hücresinin içeriği otomatik olarak temizlensin mi?
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba, bu yalnızca sabit bir kaynak hücre için çalışır (A2), bu kaynak değişken bir hücre gibi dinamik olarak nasıl olur? yazmaya çalıştım
A=aktif hücre.satır
Kesişmiyorsa(Hedef, Aralık("A"& A)) O Zaman Hiçbir Şey Değildir
Aralık("C1:C3").ClearContents
Eğer son

bu, activecell (yani seçim) ile ilgili işi yapmalıdır, ancak çalışmıyor
Teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Good Day,
Lütfen aşağıdaki VBA kodunu deneyin. Yorumun için teşekkür ederim.

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
Eğer (Kesişim Değil(Hedef, Satırlar(1)) Hiçbir Şey Değilse) Ve (Target.Count = 1) O zaman
Aralık("C1:C3").ClearContents
Eğer son
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, belirli bir hücreye "x" girildiğinde bir dizi veri hücresini temizlemenin bir yolunu arıyorum. Yukarıdaki formülü kullandım ve bu tek satır için mükemmel çalıştı. Sorun şu ki, onu birçok satıra kadar genişletmem gerekiyor. Örneğin, "D13"e bir "x" girilirse, J:13 - v:13 aralığının temizlenmesine ihtiyacım var. Ayrıca, "D14"e bir x girilirse, d:14 - v:14 aralığının temizlenmesine ihtiyacım olduğu gibi bunun olmasına ihtiyacım var. Bunu yazmanın bir yolu var mı? Yardımın için teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba bu benim için çalışmıyor. Hiçbir şey değişmiyor ama hata da yok. Herhangi bir ipucu?
Bu yorum sitedeki moderatör tarafından en aza indirildi
İyi günler,
Rahatsızlıktan dolayı özür dileriz. Office sürümünüzü sağlar mısınız? Yorumun için teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
A2 durumunda, farklı bir çalışma sayfasından bir hücreye nasıl başvurabilirim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
VBA olmadan bunu yapmanın bir yolu var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Sonia,
VBA dışında herhangi bir çözüm bulunamadı. Yorumun için teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bir tablom varsa ve birden çok boşluğa ihtiyacım varsa hangi VBA kodunu kullanırım?

Masam B3:E7. B sütunundaki içerik temizlenirse, o satır için C, D, E sütunlarındaki verilerin temizlenmesini isterim. 3. satır için aşağıdakine sahibim, ancak 4,5,6 ve 7. satırda da aynısını istiyorum.

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
Kesişmiyorsa(Hedef, Aralık("B3")) O Zaman Hiçbir Şey Değildir
Aralık("C3:E3").ClearContents
Eğer son
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Herhangi bir hücrenin içeriğini çift tıklamayla temizlemeye ne dersiniz?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, örnekte birden fazla hücre için kodu nasıl tekrarlıyorsunuz, yani a4 & a5 hücrelerinin içeriğini silersem sırasıyla b4:z4 & b5:z5 içeriğini temizlemek istiyorum, bunu yapmam gerekiyor 1000 satırlık büyük bir elektronik tablo için herhangi bir tavsiye çok takdir edilecektir
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Julian, ben de aynısını arıyorum, bunun için herhangi bir çözümünüz varsa lütfen bana bildirin.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Lütfen sayıları uygun şekilde değiştirin
Dim i Tamsayı Olarak
Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
I = 2 için 10 için
görünüm aralığı = "A" ve ben
içerik aralığı = "B" & i & ":" & "C" & i
Kesişmiyorsa(Hedef, Aralık(görünüm aralığı)) O Zaman Hiçbir Şey Değildir
Aralık(içerik aralığı).ClearContents
Eğer son
I Sonraki
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba sagarsrinivas0312,Bu kod için çok teşekkür ederim. Bu çözüm için zaten bir hafta arıyorum!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu harika, teşekkürler. Bunu birden çok kez nasıl yaparım ... bu yüzden farklı bir sütuna dayalı diğer hücreleri temizle?
Bu yorum sitedeki moderatör tarafından en aza indirildi
riusciresti modo che debba'da bir scrivermelo solo ücret kopya ed incolla?
riesco veramente olmayan bir farlo funzionare

çok teşekkür ederim
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,
"Satıldı" adlı sayfanın C sütununda boş hücreler bulursam ve "Fatura" adlı Sayfadan Makro çalışırsa, A ve B sütununun fazla hücrelerini temizlemeye çalışıyorum.

Bir yardım sitesinden aşağıdaki kodu aldım ama istediğimi alamadım.
lütfen bana bu konuda yardım edin. Ekran görüntüsü ne istediğimi ekledi.

Toplam Temizle()

Dim g As Uzun
g = 2 için ActiveSheet.UsedRange.Rows.Count'a
If Cells(g, "C").Value = "" Sonra
Hücreler(g, "A").ClearContents
Hücreler(g, "B").ClearContents

Eğer son
Sonraki
Bitiş Toplamı
Bu yorum sitedeki moderatör tarafından en aza indirildi
Belirtilen hücre içeriği başka bir sayfadaki bir hücre tarafından kontrol ediliyorsa bu işe yaramıyor mu? bunun için bir düzeltme var mı?
Hücre adlarınızı kullanarak örnek
"A2" hücresi (=sayfa1[@[a5]] ise ve bu sayı sayfa 1'de değişirse, A2'nin içeriğini değiştirirse, belirtilen aralıktaki içeriği temizlemez.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Özel Alt Çalışma Sayfası_Aktivat ()
If Range("S2") <> Range("A2").Value O zaman
Aralık("S2") = Aralık("A2").Değer
Aralık("d2:g2").ClearContents
Eğer son
'S2', veri aralığının dışındaki herhangi bir hücre ile değiştirilebilir. VBA'nın yaptığı, 'S2' için verileri otomatik olarak güncellemektir, ardından güncellenen veriler, belirttiğiniz aralığı ve temizlenip temizlenmediğini kontrol eder.
Çalışma sayfasının hem içinde hem de dışında başvurulan hücreleri kullanırken bunu başarılı bir şekilde yapmanın tek yolu bu.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Tam ihtiyacım olan şey değil ama oraya ulaşmak.Boş bir hücrem var E3.B3'te verilerim var.E3'e veri koyduğumda, B3 ile aynıysa, B3 silinir.Umarım bana yardımcı olabilirsiniz.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Tetikleyici hücre belirli bir sayı içeriyorsa, belirtilen hücre içeriğini temizlemek mümkün müdür? Diyelim ki, EĞER hücre A1 = 1, ardından Hücreler A2:A4 silinsin mi?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Herkese Merhaba,

Besoin d'aide, j'ai besoin d'effacer le contenu d'une cellule de la Colonne "I" si la cellule (de la même ligne) de la Colonne "O" =0, en çevre 2000 lignes avec des titres tout 10 lignes çevresi.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,

Bunu yapmanın kolay bir yolunu arıyorum, böylece veri doğrulama listesinden "B2" "Evet"i seçtiyse, B3 hücresi verilerini siler... ve tam tersi: "B3", "Evet" veri doğrulama listesi, "B2" hücresi verilerini siler.

temel olarak B2 or B3 söyleyebilmek "Evet"(veri doğrulama listesinden) ama asla aynı anda, biri diğerini temizlemeli.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Jeff
Aşağıdaki VBA kodu size bir iyilik yapabilir. Lütfen bir deneyin.
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20220721
If Target.Cells.Count > 1 Then Exit Sub
    If (Not Intersect(Target, Range("B2")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B3").ClearContents
        Else
        If (Not Intersect(Target, Range("B3")) Is Nothing) And (Target.Value = "Yes") Then
        Range("B2").ClearContents
    End If
    End If
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Buongiorno, baz al valore di un'altra cella'da avrei bisogno di cancelllare una serie di caselle (un rettangolo, quindi su più righe e Colonne). es: se la cella A2 è inferiore di 12, il dörtlü dönüştürme karşıt C2 : F4 venga iptalto.
Grazie Mille
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Pietro,
Üzgünüm, sorunuzu tam olarak anlamadım. Verilerinizin ekran görüntüsünü yükler misiniz?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Önemsiz, VBA не знаю. Мне нужно при изменении ячейки удалить данные из другой ve чтобы это дейстовало на весь столбец.
Меняю А2 удаляется из G2, меняется из G3, uzun A3 удаляется из G6 и т.д.

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
Kesişmiyorsa(Hedef, Aralık("A2")) O Zaman Hiçbir Şey Değildir
Aralık("G2").ClearContents
Eğer son
End Sub


Peki, okuldan kaçmaya ne dersiniz?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Наталья,
Aşağıdaki VBA kodu, sorunu çözmenize yardımcı olabilir. Lütfen bir deneyin.

Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20221013
    Dim xRight As Range
    Dim KeyCells As Range
    Set KeyCells = Range("A:A")
    Set xRight = Target.Offset(0, 6)
    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        xRight.ClearContents
    End If
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,

Zupunkt 3.
Die Tat "Andere" Finde ich nicht auf meiner Windows Tastatur. Ich Habe Strg, Alt, Tab... allerdings die Taste Andere gibt es auf meiner Tastatur leider nicht.

Lieben Gruß Mathias
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Mathias,
Klavyede ilgili tuşu bulamazsanız. sadece tıklayabilirsiniz İndirim düğmesi Microsoft Visual Basic Uygulamaları penceresi kodu kaydetmek ve ardından bu pencereyi manuel olarak kapatmak için.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,
Aşağıdaki kod tanıtıldığı gibi çalışır, ancak aşağıdaki sorunlar oluşur:

İlk olarak, hedeflenen tablo yeniden boyutlandırılırken, tüm tablo verileri temizlenir VE 1. sütun başlıkları hariç tümü "Sütun1, Sütun2, vb. olarak yeniden etiketlenir. VE çalışma kitabı kendi solunu otomatik olarak kaydeder ve geri almayı durdurur.

İkinci olarak, herhangi bir tablo satırını silerken, "Çalışma zamanı hatası 1004 (Metod Ofset of object Range başarısız oldu.


Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("F3:F500")) Is Nothing Then
     Target.Offset(0, 1).ClearContents
    ElseIf Not Intersect(Target, Range("G3:G500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
        Target.Offset(0, 2).ClearContents
    ElseIf Not Intersect(Target, Range("H3:H500")) Is Nothing Then
        Target.Offset(0, 1).ClearContents
    End If
End Sub


Neyin yanlış olabileceğine dair bir fikriniz var mı?

Şimdiden teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, Office ONLINE veri tabanını ONEDRIVE'da gezinirken, PONER "CANCELADO" veya "NOSHOW" seçili dosya içeriğini ortadan kaldırır.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Melek,
VBA kodu Office Online'da çalışmıyor. Rahatsızlıktan dolayı özür dileriz.
Buraya henüz hiç yorum yapılmamış
Daha Çok
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır