• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Word'de Tablodaki Boş Sütunları Silme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ERDAL

Bronz Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
3 Nis 2021
Mesajlar
262
Çözümler
1
Aldığı beğeni
44
Excel V
Office 2013 TR
Konuyu Başlatan
Merhaba arkadaşlar.


Aşağıya örnek olarak eklediğim Word belgesindeki tablonun boş sütunlarını döngü kullanarak nasıl silebilirim.

Bu kodla silmeye çalışıyorum fakat sonuç alamadım.

For s = wordApp.Selection.Tables(1).Columns.Count To 1 Step -1

If wordApp.Selection.Tables(1).Cell(2, s).Range.Text = "" Then
wordApp.Selection.Tables(1).Columns(s) = Delete
End If
Next s

Yardımlarınız için şimdiden teşekkür ederim.


Örnek tablo


KURUM SAYILARI
KURUM_TÜRÜSAYISI
Anadolu İmam Hatip Lisesi17
Anadolu Lisesi
8​
Fen Lisesi7
İmam Hatip Ortaokulu
5​
Mesleki ve Teknik Anadolu Lisesi4
Sosyal Bilimler Lisesi
2​
GENEL TOPLAM
43​
 
Merhaba, dosyanızı eklerseniz çözüm bulmaya çalışırız. Boşluklar sağ da solda trim ile düzeltilir,
For satır = sonSatır To 1 Step -1
If IsEmpty(Cells(satır, sütun)) Then
Rows(satır).Delete
gibi bir kod düzenlemesi ile hedefe ulaşıla bilir
 
Merhaba Hocam
Örnek dosyayı ekledim.
 

Ekli dosyalar

  • DENEME.docx
    14.4 KB · Gösterim: 3
Word tablolarında boş hücre demek 2 karakter uzunluğa sahip hücre demektir. Gizli karakterlerden dolayı.
C++:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Hocam, teşekkür ederim
Elinize emeğinize sağlık

Hocam denedim, fakat boş sütunları silmiyor.

Kurum Sayıları​
KURUM_TÜRÜ
SAYISI​
Anadolu İmam Hatip Lisesi
17​
Anadolu Lisesi
8​
Fen Lisesi
7​
İmam Hatip Ortaokulu
5​
Mesleki ve Teknik Anadolu Lisesi
4​
Sosyal Bilimler Lisesi
2​
GENEL TOPLAM
43​
 
Hocam, başlık yazılı olmayan sütunları silmek istiyorum
 
Gerçek excel ve word belgenize gerçekten benzeyen iki örnek ekleyebilirseniz neden silmediğini anlayabiliriz. 3 nolu mesajınızdaki belgeye baktım o olmaz.
 
Hocam, Excelden bu tabloyu kopyalayıp Worde yapıştırıyorum. (Sayfa1.Range("K2:p11").Copy: wordApp.Selection.Paste)
Sonra üzerinde biçimlendirme işlemleri yopıyorum.

Excel ve Word tablolarını ekliyorum.
 

Ekli dosyalar

  • Excel Tablo.xlsx
    74 KB · Gösterim: 3
  • Word Belgesi.docx
    14.4 KB · Gösterim: 3
Tablonun birinci satırı birleştirilmiş hücre olduğu için sonuç alamamışsınız. İlk önce ben de farkedemedim. İki sütun var ikisi de dolu gibi görüyordum. Gönderdiğim makro normal hücrelere göre idi. Birleşmiş hücreler hep problemli olmuştur. Bu yüzden sütun silme işlemi yapamayız. Çünkü üst satırdaki bir sütun alt satırlardaki 4 sütunu kapsıyor. Bunun yerine tablonun son satırını esas alarak eğer son satırdaki hücre boş ise; 2. satır ile son satır arasındaki hücreleri sil ve sola kaydır dersek problem olmuyor gibi. Tabi sizdeki sonuç önemli.

Yine 4. mesajdaki kodun yerine yazılmak üzere:
C++:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Hocam, İlk eklediğim Word tablosunda farkında olmadan başlığın olduğu hücreleri birleştirmişim.
Son olarak eklediğim Excel ve Word belgelerinde birleştirilmiş hücre yok.


Kodu uyguladığımda ;
Özel Program Ve Proje Uygulaması Olan Okul Sayıları
KURUM_TÜRÜ
SAYISI​
Anadolu İmam Hatip Lisesi
17​
Anadolu Lisesi
8​
Fen Lisesi
7​
İmam Hatip Ortaokulu
5​
Mesleki ve Teknik Anadolu Lisesi
4​
Sosyal Bilimler Lisesi
2​
GENEL TOPLAM​
43​
 
İlk gönderdiğim zaten birleştirilmiş hücre yok iken çalışacak kod idi. Fakat sizin tablo üst satırı worde birleştirilmiş olarak geliyor. Aslında hatalı olan, biz kendi kurgumuza göre makro hazırlıyoruz. Siz exceldeki bu işin kodunu sub... End Sub arasını tam olarak yazarmısınız. Artı aldığınız hata hangi satırda ve mesaj bilgisinde ne yazıyor bunları da yazar mısınız.
 
Hocam, Hata mesajı almıyorum.

Kullandığım Kod

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Hata mesajı almamanız normal çünkü kodlarınız "On Error Resume Next" ile başlıyordu.
C++:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Çözüm
Hocam, teşekkür ederim. Elinize emeğinize sağlık.

Hücre birleştirme (.Tables(1).Rows(1).Cells.Merge) sorunu çözmüş.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst