Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] merge cell trong word
#1
Cho em hỏi dòng code để merge cell table trong Word, chứ em bật macro để ghi lại code:
    
    Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    Selection.Cells.Merge
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

thì khi áp vào chương trình của em thì chả thấy merge được gì cả
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#2
(22-09-16, 04:42 PM)vuthaiha90 Đã viết: Cho em hỏi dòng code để merge cell table trong Word, chứ em bật macro để ghi lại code:
    
    Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    Selection.Cells.Merge
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

thì khi áp vào chương trình của em thì chả thấy merge được gì cả

Code chương trình của em thế này, bây giờ sau khi hết dữ liệu ở Table access để chuyển sang Word nhìn bảng cho đẹp thì em muốn tại dòng cuối cùng (Row add cuối cùng) thì merge lại ghi chữ "Hết", mà em không biết làm kiểu gì bác nào hỗ trợ em với.

If rst.EOF Then
        Exit Sub
    Else
        rst.MoveFirst
    End If
i = 1
Tong = 0
Do Until rst.EOF
Doc.Tables(3).Cell(i, 1).Range.Text = rst.Fields![STT].Value
Doc.Tables(3).Cell(i, 2).Range.Text = rst.Fields![TenTS].Value
Doc.Tables(3).Cell(i, 3).Range.Text = rst.Fields![SosoTK].Value
Doc.Tables(3).Cell(i, 4).Range.Text = Format(rst.Fields![Trigiaso].Value, "##,##0") & ChrW$(273)
Doc.Tables(3).Cell(i, 5).Range.Text = rst.Fields![Kyhan].Value
Doc.Tables(3).Cell(i, 6).Range.Text = rst.Fields![Laisuatgui].Value & "%/n" & ChrW$(259) & "m"
Doc.Tables(3).Cell(i, 7).Range.Text = rst.Fields![Noiphathanh].Value
Doc.Tables(3).Cell(i, 8).Range.Text = rst.Fields![Ngaydenhan].Value
Tong = Tong + rst.Fields![Trigiaso].Value
rst.MoveNext
i = i + 1
Doc.Tables(3).Rows.Add
Loop
rst.Close
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#3
(22-09-16, 04:42 PM)vuthaiha90 Đã viết: Cho em hỏi dòng code để merge cell table trong Word, chứ em bật macro để ghi lại code:
    
    Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    Selection.Cells.Merge
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

thì khi áp vào chương trình của em thì chả thấy merge được gì cả

Nó không merge được vì nó không hiểu cái Selection là cái nào đang được chọn (select)?
Bạn phải chọn dòng cuối cùng của Table(3) rồi mới chạy code merge ở trên.
Vd: 
Doc.Tables(3).Cell(i, 1).Select
With Doc.ActiveWindow.Selection
    .MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    .Cells.Merge
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Text = "Hết"
End With
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn vuthaiha90 , Noname
#4
(22-09-16, 07:58 PM)ongke0711 Đã viết:
(22-09-16, 04:42 PM)vuthaiha90 Đã viết: Cho em hỏi dòng code để merge cell table trong Word, chứ em bật macro để ghi lại code:
    
    Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    Selection.Cells.Merge
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

thì khi áp vào chương trình của em thì chả thấy merge được gì cả

Nó không merge được vì nó không hiểu cái Selection là cái nào đang được chọn (select)?
Bạn phải chọn dòng cuối cùng của Table(3) rồi mới chạy code merge ở trên.
Vd: 
Doc.Tables(3).Cell(i, 1).Select
With Doc.ActiveWindow.Selection
    .MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    .Cells.Merge
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Text = "Hết"
End With

Dạ vâng, em hiểu rồi ạ, để em áp vào chương trình
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#5
(22-09-16, 07:58 PM)ongke0711 Đã viết:
(22-09-16, 04:42 PM)vuthaiha90 Đã viết: Cho em hỏi dòng code để merge cell table trong Word, chứ em bật macro để ghi lại code:
    
    Selection.MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    Selection.Cells.Merge
    Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

thì khi áp vào chương trình của em thì chả thấy merge được gì cả

Nó không merge được vì nó không hiểu cái Selection là cái nào đang được chọn (select)?
Bạn phải chọn dòng cuối cùng của Table(3) rồi mới chạy code merge ở trên.
Vd: 
Doc.Tables(3).Cell(i, 1).Select
With Doc.ActiveWindow.Selection
    .MoveRight Unit:=wdCharacter, Count:=8, Extend:=wdExtend
    .Cells.Merge
    .ParagraphFormat.Alignment = wdAlignParagraphCenter
    .Text = "Hết"
End With

Bác ơi, em đưa đoạn code bác cho vào sau dòng "rst.Close" thì khi ấn chuyển sang Word nó bị đứng hình ở ô Cell(i,1) nó chả chạy tiếp merge gì cả. Sau đoạn lặp next giá trị tới khi nào hết giá trị cho vào bảng Word thì select ô đầu tiên dòng cuối cùng như vậy là đúng chứ nhỉ, sao nó không chạy tiếp?
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn
#6
Bạn đổi chỗ này:
.MoveRight Unit:=wdCharacter ==> .MoveRight Unit:=wdCell  (chọn các ô kế bên chứ không phải ký tự)

- Nếu không đc bạn đổi lại đoạn code này:

Doc.Tables(3).Cell(i, 1).Select

With Doc.ActiveWindow.Selection

    .Rows(i).Cells.Merge

    .ParagraphFormat.Alignment = wdAlignParagraphCenter

    .Text = "Hết"
End With
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , vuthaiha90 , Noname
#7
(22-09-16, 10:16 PM)ongke0711 Đã viết: Bạn đổi chỗ này:
.MoveRight Unit:=wdCharacter ==> .MoveRight Unit:=wdCell  (chọn các ô kế bên chứ không phải ký tự)

- Nếu không đc bạn đổi lại đoạn code này:

Doc.Tables(3).Cell(i, 1).Select

With Doc.ActiveWindow.Selection

    .Rows(i).Cells.Merge

    .ParagraphFormat.Alignment = wdAlignParagraphCenter

    .Text = "Hết"
End With

của em khi áp vào chương trình là: .SelectRow luôn bác ạ, mỗi tội lại chả căn giữa được cho đẹp mà em phải chơi thủ công mấy chục cái khoảng trắng, hic
Chữ ký của vuthaiha90 vuthaiha90,gia nhập Thủ Thuật Access từ 26-02 -16.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
Question [Help] Link tất các table trong một file.mdb bằng VBA MinhnHang 7 172 7 Giờ trước
Bài mới nhất: maidinhdan
  [Thủ Thuật] Tìm số thứ tự bị thiếu trong dãy toanle 8 202 Hôm qua, 02:25 PM
Bài mới nhất: toanle
  Tránh xung đột dữ liệu trong access quocdung9999 16 1,692 23-11-16, 11:13 AM
Bài mới nhất: quocdung9999
  [Hỏi] Kết nối nhiều lần hay kết nối 1 lần trong ADO ưu điểm hơn Minh Tiên 1 122 10-11-16, 10:41 AM
Bài mới nhất: maidinhdan
  Summary bằng VBA trong MS Access. MinhnHang 6 318 08-11-16, 08:36 AM
Bài mới nhất: MinhnHang

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ