Saya memiliki tabel di Word di mana saya menggabungkan 1 sel dengan teks ke 2 sel kosong yang tersisa. Setiap kali digabungkan, ia menambahkan baris baru di bawah teks sel yang digabungkan. Ini mengacaukan seluruh tata letak tabel. Tabel ini telah disalin dari Excel dan ditempelkan ke Word. Bagaimana cara memperbaikinya?

Dim table1 as Table
With table1
.Cell(Row:=1, Column:=3).Merge _ 
MergeTo:=.Cell(Row:=1, Column:=5)
End With
1
JoshD 15 Maret 2017, 15:11

2 jawaban

Jawaban Terbaik

Variasi ini mencakup dua solusi untuk cara menangani konten yang ada dalam sel yang digabungkan.

Private Sub TestMerge()
    Dim i As Long

    With ActiveDocument.Tables(1).Rows(1)
        For i = 3 To 4
'            .Cells(i).Range.Text = ""
            .Cells(2).Merge .Cells(i)
        Next i
        .Cells(2).Range.Text = ""
    End With
End Sub

Solusi pertama menghapus semua yang ada di sel 3 dan 4 tetapi mempertahankan konten sel (2). Dalam kode di atas itu diberikan bisu oleh tanda kutip sebelum kode.

Cara kedua adalah menghapus semuanya dari sel yang digabungkan. Saya akan merekomendasikan untuk menjalankan versi ini hanya saat Application.ScreenUpdating = False karena akan menyebabkan banyak kedipan.

Ada beberapa cara lagi, tetapi untuk merekomendasikan yang paling sesuai dengan kebutuhan Anda, seseorang perlu memiliki pemahaman yang lebih baik tentang apa yang Anda inginkan. BTW, jika memungkinkan, hapus bagian yang kosong dari tabel pada saat dimasukkan. Memiliki kekosongan yang mengambang di sekitar dokumen Anda dan muncul ketika mereka paling tidak diharapkan atau diinginkan bukanlah ide yang baik.

1
Variatus 20 Maret 2017, 02:26

Perintah Merge hanya dapat menggabungkan dua sel yang berdekatan. Anda mungkin menggunakan loop untuk menggabungkan lebih banyak sel.

Dim i As Long

With ActiveDocument.Tables(1).Rows(1)
    For i = 3 To 4
        .Cells(2).Merge .Cells(i)
    Next i
End With

Sel 3 dan 4 digabungkan dengan sel (2).

1
Variatus 16 Maret 2017, 11:25