XD360 KÍNH CHÚC CHO MỌI NHÀ VẠN SỰ AN LÀNH!

Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng

 Quên mật khẩu
 Đăng ký mới
Anh Trần HòeBùi Quốc Hưng
Xem: 52386|Trả lời: 97
In Chủ đề trước Tiếp theo
Thu gọn cột thông tin

Tự động fit chiều cao dòng của ô đã MERGE trong excel

[Lấy địa chỉ]

Hãy đăng nhập để có nhiều chức năng hữu dụng hơn và xem ảnh rõ hơn!

Bạn phải đăng nhập để xem được nội dung, nếu bạn chưa có tài khoản? hãy Đăng ký mới

x
Dear các anh em trên diễn đàn!.
Em đang làm các biên bản nghiệm thu.Nhưng có nhiều ô đã merge thì nó không tự động căn chỉnh dòng như khi WRAP TEXT 1 ô.
Anh em có đoạn Code VBA hay cách nào giải quyết không.Giúp em với.Em xin chân thành cám ơn.Em có đính kèm file









Đánh giá

file nào đâu?  Đăng lúc 9/6/2014 10:39

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Đề cử
tranhoe Đăng lúc 9/8/2014 11:01 | Chỉ xem của tác giả
vanhien120790 gửi lúc 7/8/2014 21:07
Hi anh!
Mình có cách nào chọn tất cả các ô bị ô đã MERGE không anh .Giờ em có 10 ô  ...

Nếu muốn tự động sửa toàn bộ cho ActiveSheet thì chép Macro sau vào và chạy nó:
[Visual Basic] 纯文本查看 复制代码
Sub AutoFitMerge()
     Dim sDiachi As String
    Range("A1").Select
    sDiachi = Selection.SpecialCells(xlCellTypeLastCell).Address
    sDiachi = Replace(sDiachi , "$", "")
    Range("A1:" & sDiachi).Select
    For Each rCell In Selection
          If rCell.MergeCells Then
               AutoFitMergedCellRowHeight
          End If
    Next
    Range("A1").Select
End Sub

Số người tham gia 2Thanked +4 Thu lại Lý do
3canhhoatroi + 2 Thực tiễn. Cám ơn!
NGOCTRAI43V + 2 Thích bài này! Thanks!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Đề cử
votinh3290 Đăng lúc 28/9/2017 14:11 | Chỉ xem của tác giả
haudk8 gửi lúc 28/9/2017 07:45
Cảm ơn bạn nhé. Hôm rồi mình có sửa và bổ sung vào file của mình sheet BC Du toan nữ ...

Mình từng bảo cái này mình làm khá đơn giản, nhưng có chú Trần Hòe có vẻ không tin. Cái này mình cũng chưa cần dùng đến VBA, Mình chỉ thêm một cột nữa ở ngay đầu trang tính, set Collumn Wight của cột này bằng với collumn Wight của tất cả các ô Merge cộng lại. Nếu có nhiều ô merge với Collumn wight khác nhau thì dùng vòng lặp duyệt qua từng ô một, vậy thôi.

In Giay RDT 1.xlsm

157.24 KB, Lượt tải về: 9418

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Đề cử
HatinhPro Đăng lúc 29/10/2016 22:22 | Chỉ xem của tác giả
fubi gửi lúc 9/6/2014 11:15
VẤN ĐỀ:
- ô merge không tự động fit chiều cao dòng cho vừa dữ liệu khi kích đôi chu ...

Cảm ơn anh đã giúp đỡ lập code trên, tôi xin hỏi a Bình thêm chút xíu. Khi mình fit xong, có đoạn text dài (được lấy từ hàm vd như vlookup ở sheet khác), nó ok rồi, nhưng khi mình trở lại đoạn text ngắn nó lại ko fit được lại. VĐ này giải quyết thế nào vậy a?

Đánh giá

Vâng, em đã trình bày ở phía dưới, mong anh và anh fubi giúp đỡ!  Đăng lúc 2/11/2016 20:03
Đưa file cụ thể lên.  Đăng lúc 30/10/2016 10:42

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Đề cử
tranhoe Đăng lúc 23/6/2016 20:53 | Chỉ xem của tác giả
baocatsamac_nd gửi lúc 23/6/2016 16:16
Các bác giúp em file này với ạ. Khi em bấm vào nút AutoFitMerge thì tất cả các ô đã  ...

Với câu lệnh như thế thì Không thể AutoFit cho tất cả các ô đã merge trong vùng được chọn được mà chỉ được cho các ô đã merge nằm ở cột đầu tiên trong vùng được chọn thôi. Ví dụ chọn vùng "A1126" thì Ô B12 sẽ không được AutoFit

Số người tham gia 1Thanked +1 Thu lại Lý do
baocatsamac_nd + 1 Cảm ơn quan tâm của bạn nhiều!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Chủ thớt xài như sau xem sao:
[Visual Basic] 纯文本查看 复制代码
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NewRwH As Single
Dim cWd As Single, MrgeWd As Single
Dim c As Object, cc As Object
Dim ma As Object
Application.ScreenUpdating = False
With Target
If .MergeCells And .WrapText Then
cWd = .ColumnWidth
Set ma = .MergeArea
For Each cc In ma.Cells
MrgeWd = MrgeWd + cc.ColumnWidth
Next
ma.MergeCells = False
.ColumnWidth = MrgeWd
.EntireRow.AutoFit
NewRwH = .RowHeight
With ma
    .MergeCells = True
    .RowHeight = NewRwH
End With
End If
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Application.ScreenUpdating = True
End Sub

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Đề cử
tranhoe Đăng lúc 12/8/2014 17:06 | Chỉ xem của tác giả
vanhien120790 gửi lúc 11/8/2014 09:05
Cám ơn chú, nhưng con chạy nó bị như thế này. Là bị lỗi gì chú. Cám ơn chú

Quên nhắc: Bạn chép thêm Sub AutoFitMerge vào file mà A fubi đã làm trước đó.
Bạn chỉ chép sub của mình thôi thì không chạy được, vì nó gọi thủ tục AutoFitMergedCellRowHeight là thủ tục  A fubi đã làm.

Bạn đưa file cụ thể lên nhé!.
Chỉ hiểu ý đồ và viết code thì cũng như Mua Trâu vẽ Bóng, khó mà chuẩn được

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

8#
fubi Đăng lúc 9/6/2014 11:15 | Chỉ xem của tác giả
VẤN ĐỀ:
- ô merge không tự động fit chiều cao dòng cho vừa dữ liệu khi kích đôi chuột vào ranh giới tên dòng.
==> Phải rê chuột bấm kéo mở rộng chiều cao dòng bằng tay rất mất công.
Vậy có cách nào chỉ cần bấm là dòng của ô merge sẽ tự fit cho vừa dữ liệu?


GIẢI QUYẾT:
1. Copy macro sau vào modul của file bạn.
2. Edit macro và chọn phím tắt cho nó.
3. Chọn ô đã merge.
4. Bấm phím tắt đã cài ở bước 1.
==> Dòng của ô merge sẽ tự động tăng lên cho vừa text.

[Visual Basic] 纯文本查看 复制代码
Sub AutoFitMergedCellRowHeight()
     Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
     Dim CurrCell As Range
     Dim ActiveCellWidth As Single, PossNewRowHeight As Single
     Dim iX As Integer
     ActiveCell.WrapText = True
     If ActiveCell.MergeCells Then
        With ActiveCell.MergeArea
             If .Rows.Count = 1 And .WrapText = True Then
                 Application.ScreenUpdating = False
                 CurrentRowHeight = .RowHeight
                 ActiveCellWidth = ActiveCell.ColumnWidth
                 For Each CurrCell In Selection
                     MergedCellRgWidth = CurrCell.ColumnWidth + _
                        MergedCellRgWidth
                     iX = iX + 1
                 Next
                 MergedCellRgWidth = MergedCellRgWidth + (iX - 1) * 0.71
                 .MergeCells = False
                 .Cells(1).ColumnWidth = MergedCellRgWidth
                 .EntireRow.AutoFit
                 PossNewRowHeight = .RowHeight
                 .Cells(1).ColumnWidth = ActiveCellWidth
                 .MergeCells = True
                 .RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, _
                  CurrentRowHeight, PossNewRowHeight)
             End If
         End With
     End If
End Sub



Đánh giá

Rất hữu ích! Thanks!: 5.0 Chia sẻ hay! Thanks bạn nhé!: 5.0
Chia sẻ hay! Thanks bạn nhé!: 5
Macro này chỉ làm từng ô được thôi à bác ơi, 3m có hơn 300 dòng cơ, có cách nào nhanh hơn được không  Đăng lúc 31/7/2017 22:34
Rất hữu ích! Thanks!: 5
  Đăng lúc 10/6/2014 08:03
cám ơn anh  Đăng lúc 9/6/2014 14:21

Số người tham gia 1Thanked +2 Thu lại Lý do
hophihoangxd + 2 Rất chuyên nghiệp! Thanks!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

9#
 Tác giả| vanhien120790 Đăng lúc 7/8/2014 21:07 | Chỉ xem của tác giả
Hi anh!
Mình có cách nào chọn tất cả các ô bị ô đã MERGE không anh .Giờ em có 10 ô thì chọn 10 lần vẫn lâu.
Cám ơn anh

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

10#
 Tác giả| vanhien120790 Đăng lúc 11/8/2014 09:05 | Chỉ xem của tác giả
Cám ơn chú, nhưng con chạy nó bị như thế này. Là bị lỗi gì chú. Cám ơn chú

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

11#
 Tác giả| vanhien120790 Đăng lúc 13/8/2014 10:50 | Chỉ xem của tác giả
Đây là file của em đây các anh ạ. Em chưa làm được. Em cần 1 lệnh Wrap text được tất cả các ô

KHOI LUONG HOAN THANH MAI TON.xlsm

202.83 KB, Lượt tải về: 7988

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

12#
tranhoe Đăng lúc 13/8/2014 15:38 | Chỉ xem của tác giả
vanhien120790 gửi lúc 13/8/2014 10:50
Đây là file của em đây các anh ạ. Em chưa làm được. Em cần 1 lệnh Wrap text được t ...

Chọn vùng cần fit chiều cao dòng của ô đã MERGE như trong file của Bạn.
Chạy macro AutoFitMerge
[Visual Basic] 纯文本查看 复制代码
Sub AutoFitMerge()
     Dim lDong As Long
     Dim i As Integer
     Dim sCelldau As String
     Dim rCell As Range
     Dim NewRwH As Single, cWd As Single, MrgeWd As Single
     With Application
          .ScreenUpdating = False  'Tam dung cap nhat man hinh
          .Calculation = xlCalculationManual  'Tat cap nhat tinh toan
          .EnableEvents = False
          .DisplayAlerts = False
          .Cursor = xlWait
          .EnableCancelKey = xlErrorHandler
     End With
     lDong = ActiveCell.Row + Selection.Rows.Count
     sCelldau = ActiveCell.Address
     ActiveCell.Select
     Do Until ActiveCell.Row = lDong
          If ActiveCell.MergeCells Then
               With ActiveCell
                    .WrapText = True
                    If i = 0 Then
                         'Lay ColumnWidth cua cell dau va Tinh Tong ColumnWidth
                         For Each rCell In Selection
                              i = i + 1
                              'Lay ColumnWidth cua cell dau
                              If i = 1 Then cWd = rCell.ColumnWidth
                              'Tinh Tong ColumnWidth
                              MrgeWd = MrgeWd + rCell.ColumnWidth
                         Next
                    End If
                    Selection.MergeCells = False
                    .ColumnWidth = MrgeWd
                    .EntireRow.AutoFit
                    NewRwH = .RowHeight
                    'Tra lai ColumnWidth cua cell dau
                    .ColumnWidth = cWd
                    'MergeCells va lay Chieu cao Dong
                    With Selection
                        .MergeCells = True
                        .RowHeight = NewRwH
                    End With
               End With
          End If
          ActiveCell.Offset(1).Select
     Loop
     With Application
          .ScreenUpdating = True   'Cap nhat man hinh
          .Calculation = xlCalculationAutomatic       'Cap nhat tinh toan
          .EnableEvents = True
          .DisplayAlerts = True
          .Cursor = xlDefault
          .EnableCancelKey = xlInterrupt
     End With
     Range(sCelldau).Select
End Sub

File đính kèm: KHOI LUONG HOAN THANH MAI TON 2.xlsm (202.6 KB, Lượt tải về: 8592)

Số người tham gia 1Thanked +2 Thu lại Lý do
NGOCTRAI43V + 2 Thích bài này! Thanks!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

13#
 Tác giả| vanhien120790 Đăng lúc 13/8/2014 16:51 | Chỉ xem của tác giả
tranhoe gửi lúc 13/8/2014 15:38
Chọn vùng cần fit chiều cao dòng của ô đã MERGE như trong file của Bạn.
Chạy macro Au ...

Cám ơn anh. Em đã làm được

Đánh giá

cảm ơn anh rất nhiều, nhưng anh có thể chỉnh lại một chút được ko. khi chay macro Sub AutoFitMerge(). vẫn tồn tại khi dãn dòng, thì có những dòng khong vừa cell mà rộng hơn   Đăng lúc 20/6/2015 21:15
Dùng nút "Đánh giá" hoặc "Cảm ơn" nhé!  Đăng lúc 13/8/2014 22:18

Số người tham gia 1Thanked +1 Thu lại Lý do
ngocdao11764 + 1 rât tuyệt vời..

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

14#
ksnguyenquyen Đăng lúc 5/4/2016 14:18 | Chỉ xem của tác giả
tranhoe gửi lúc 9/8/2014 11:01
Nếu muốn tự động sửa toàn bộ cho ActiveSheet thì chép Macro sau vào và chạy nó:
[mw_s ...

Chú cho con hỏi là. Con giờ chỉ tạo 1 template thôi. Chỉ thây đổi 1 số thứ như tiêu chuẩn áp dụng. Thì có cách nào khi in đến biên bản thứ 2 trở đi, nó tự động dãn dòng cho mình không ạ.

Đánh giá

Hỏi gì không hiểu được.  Đăng lúc 5/4/2016 15:34

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

15#
chuothalan85 Đăng lúc 4/5/2016 15:22 | Chỉ xem của tác giả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

16#
ngocdao11764 Đăng lúc 20/5/2016 10:39 | Chỉ xem của tác giả
tranhungdao12a3 gửi lúc 13/8/2014 09:16
Chủ thớt xài như sau xem sao:
[mw_shl_code=vb,true]Private Sub Worksheet_Change(ByVal Target As  ...

mình có file biên bản nghiệm thu. mình cần Tự động fit chiều cao dòng của ô đã MERGE và Wrap text ở cột nội dung công việc. bạn có thể giúp đỡ 1 đoạn VBA sự kiện change hay selectionchange với vùng ảnh hưởng chỉ dòng số 15 và 39 không vậy. xin cảm ơn rất nhiều..

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

17#
tranhoe Đăng lúc 21/5/2016 09:53 | Chỉ xem của tác giả
ngocdao11764 gửi lúc 20/5/2016 10:39
mình có file biên bản nghiệm thu. mình cần Tự động fit chiều cao dòng của ô đã MER ...

Do không gửi file nên chỉ đoán nội dung công việc là ở cột 2, nếu là cột khác thì sửa lại trong code.
[Visual Basic] 纯文本查看 复制代码
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim NewRwH As Single
    Dim cWd As Single, MrgeWd As Single
    Dim c As Object, cc As Object
    Dim ma As Object
    With Target
        'Qui dinh ap dung cho Dong va Cot
        If .Column <> 2 Then Exit Sub
        If .Row = 15 Or .Row = 39 Then
            If .MergeCells And .WrapText Then
                Application.ScreenUpdating = False
                cWd = .ColumnWidth
                Set ma = .MergeArea
                For Each cc In ma.Cells
                    MrgeWd = MrgeWd + cc.ColumnWidth
                Next
                ma.MergeCells = False
                .ColumnWidth = MrgeWd
                .EntireRow.AutoFit
                NewRwH = .RowHeight
                .ColumnWidth = cWd
                With ma
                    .MergeCells = True
                    .RowHeight = NewRwH
                    .VerticalAlignment = xlCenter
                    .HorizontalAlignment = xlJustify
                End With
                Application.ScreenUpdating = True
            End If
        End If
    End With
End Sub




www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

18#
baocatsamac_nd Đăng lúc 23/6/2016 16:16 | Chỉ xem của tác giả
Các bác giúp em file này với ạ. Khi em bấm vào nút AutoFitMerge thì tất cả các ô đã merge trong vùng được chọn tự động fit chiều cao được không ạ. em cảm ơn mọi người

Sổ làm việc23.xlsm

133.9 KB, Lượt tải về: 6717

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

19#
votinh3290 Đăng lúc 24/6/2016 00:20 | Chỉ xem của tác giả
Lười viết code nhưng bài này t làm đơn giản lắm, 5 đến 7 dòng code là xong

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

20#
baocatsamac_nd Đăng lúc 19/7/2016 10:07 | Chỉ xem của tác giả
tranhoe gửi lúc 23/6/2016 20:53
Với câu lệnh như thế thì Không thể AutoFit cho tất cả các ô đã merge trong vùng đ ...

thế không có cách nào giải quyết được sao bác.

Đánh giá

Đã có câu trả lời ở bài số 26# (phía dưới)  Đăng lúc 12/9/2016 15:30

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

21#
dongkien Đăng lúc 1/8/2016 12:20 | Chỉ xem của tác giả
baocatsamac_nd gửi lúc 19/7/2016 10:07
thế không có cách nào giải quyết được sao bác.

minh có dùng code cua bac tranhoe, nhưng khi dùng máy cứ bị đơ một lúc rồi với chày được, bac có cách nào tằng tốc lên không

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

22#
baocatsamac_nd Đăng lúc 3/8/2016 14:59 | Chỉ xem của tác giả
dongkien gửi lúc 1/8/2016 12:20
minh có dùng code cua bac tranhoe, nhưng khi dùng máy cứ bị đơ một lúc rồi với chày  ...

mình dùng thấy ổn mà

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

23#
dung_dongquang Đăng lúc 3/8/2016 17:54 | Chỉ xem của tác giả
tranhoe gửi lúc 13/8/2014 15:38
Chọn vùng cần fit chiều cao dòng của ô đã MERGE như trong file của Bạn.
Chạy macro Au ...

Em muốn hỏi thêm một chút vì không biết về VBA, hiện tại em muốn chọn nhiều ô đã merge (thuộc nhiều sheet) của file excel để thực hiện lệnh một lần thì có được không ạ, hoặc từng sheet thì sẽ như thế nào ạ.
Em cảm ơn

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

24#
tranhoe Đăng lúc 3/8/2016 19:32 | Chỉ xem của tác giả
dung_dongquang gửi lúc 3/8/2016 17:54
Em muốn hỏi thêm một chút vì không biết về VBA, hiện tại em muốn chọn nhiều ô đã  ...

Nếu không biết về VBA thì đừng hỏi!
Vì sao?. Vì người trả lời sẽ viết đại loại như thế này A=B1, Bạn sẽ hỏi lại tại sao vậy? cũng giống như 1+1=2 mà biểu người ta giải thích thì làm sao đây?
Cũng 1 câu hỏi mà có người làm được, có người không. Đơn cử bài 20# ở trên: họ làm được mà! còn người khác bảo rất lâu mới làm được.

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

25#
dung_dongquang Đăng lúc 4/8/2016 14:04 | Chỉ xem của tác giả
tranhoe gửi lúc 3/8/2016 19:32
Nếu không biết về VBA thì đừng hỏi!
Vì sao?. Vì người trả lời sẽ viết đại loại n ...

Dạ vâng.
KHông thích thì bác không trả lời, viết dài dòng làm gì.

Đánh giá

Lên 1 nói người ta cười, lên 10 nói người ta chửi. Ông bà ta dặn dò như thế đó, hiểu hay không?  Đăng lúc 4/8/2016 17:55
Hay nhi! Thuốc đắng không chịu uống thì làm sao hết bệnh.  Đăng lúc 4/8/2016 17:30

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

26#
 Tác giả| vanhien120790 Đăng lúc 7/9/2016 10:09 | Chỉ xem của tác giả
tranhoe gửi lúc 21/5/2016 09:53
Do không gửi file nên chỉ đoán nội dung công việc là ở cột 2, nếu là cột khác thì  ...

Dear anh!
Em có file này. Muốn Fit chiều cao của ô B13 và A28 của Sheet 2, ô A15 của Sheet 3, ô B13 và A30 của Sheet3 .
Với câu lệnh như hiện tại, em chỉ fit được ô B13. Các ô còn lại nhờ anh viết Code giúp.

Em cám ơn

BIEN BAN NGHIEM THU GOI 7.xlsm

120.88 KB, Lượt tải về: 7844

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

27#
 Tác giả| vanhien120790 Đăng lúc 11/9/2016 15:07 | Chỉ xem của tác giả
vanhien120790 gửi lúc 7/9/2016 10:09
Dear anh!
Em có file này. Muốn Fit chiều cao của ô B13 và A28 của Sheet 2, ô A15 của She ...

Mọi người có ai biết không, giúp em với.

Em cám ơn

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

28#
tranhoe Đăng lúc 12/9/2016 15:28 | Chỉ xem của tác giả
vanhien120790 gửi lúc 11/9/2016 15:07
Mọi người có ai biết không, giúp em với.

Em cám ơn

Mấy bửa nay bận quá.
Giờ mới có thời gian trả lời. File đính kèm sẽ làm được nhiệm vụ đề ra, bất kể ô Merge ở vị trí nào, miễn là chọn ô đó rồi nhấn Ctrl+Shift+F là xong
Link: AutoFit_MergeCell.xls (21 KB, Lượt tải về: 7108)

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

29#
 Tác giả| vanhien120790 Đăng lúc 13/9/2016 09:23 | Chỉ xem của tác giả
tranhoe gửi lúc 12/9/2016 15:28
Mấy bửa nay bận quá.
Giờ mới có thời gian trả lời. File đính kèm sẽ làm được nhi ...

Em cảm ơn, nhưng ý của em là .

Em có 3 biên bản, nội dung chỉ khác nhau cái tiêu đề, và tiêu chuẩn .
Em muốn chạy file in tự động sheet 2, sheet 3, sheet 4. Nhưng các ô ( B13, O28 của sheet 2), ( A15 của sheet 3), ( B13, A30 của sheet 4) phải tự động AUTOFIT chiều cao .

Mình có cách nào để cử lý như vậy không anh . File em có đính kèm

BIEN BAN NGHIEM THU GOI 7.xlsm

119.51 KB, Lượt tải về: 7590

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

30#
tranhoe Đăng lúc 13/9/2016 15:03 | Chỉ xem của tác giả
vanhien120790 gửi lúc 13/9/2016 09:23
Em cảm ơn, nhưng ý của em là .

Em có 3 biên bản, nội dung chỉ khác nhau cái tiêu đ ...

Thì thêm code để nó chọn các ô đó và AutoFit_MergeCell
Bien ban nghiem thu Goi so 7.xls (236.5 KB, Lượt tải về: 6569)

Số người tham gia 1Thanked +2 Thu lại Lý do
vanhien120790 + 2 Bài hay. Cảm ơn!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

31#
 Tác giả| vanhien120790 Đăng lúc 14/9/2016 07:27 | Chỉ xem của tác giả
tranhoe gửi lúc 13/9/2016 15:03
Thì thêm code để nó chọn các ô đó và AutoFit_MergeCell

Cám ơn anh, cái này thì chuẩn theo ý em rùi.

Không biết để làm được như thế này, anh có giáo trình VBA hay diễn đàn nào để học và làm được như thế không. Cho em xin tham khảo với

Em có học 1 lớp VBA Excel trên xaydung360, nhưng vẫn chưa làm được như vậy .

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

32#
tranhoe Đăng lúc 14/9/2016 14:09 | Chỉ xem của tác giả
vanhien120790 gửi lúc 14/9/2016 07:27
Cám ơn anh, cái này thì chuẩn theo ý em rùi.

Không biết để làm được như thế nà ...

Vậy thì ít nhiều Em cũng biết được VBA.
Theo Anh thì những cái cần nắm trước tiên trong VBA để tạo cái căn cơ là:
1./ Cách khai báo và sử dụng biến
2./ Các cấu trúc điều khiển (If, Case, Do, For)
3./ Các sự kiện trong Excel (với Workbook, Worksheet)
4./ Cách làm việc với File, xử lý File
Cơ bản là vậy, mới học nên nắm chắc 4 vấn đề trên, đừng đọc lung tung.
Trên Thư viện cũng có 1 số sách về VBA, Em load về rồi tập trung đọc 4 vấn đề Anh đã nêu, tự thực hành cho thuần thục là đã đạt trung bình khá rồi.

Sau khi có được những "căn cơ" như trên thì mới có thể "luyện" cũng như học các tuyệt chiêu để lên tầng cao được. Muốn lên cao thì phải biết đưa ra thuật toán để giải quyết vấn đề  và xử lý những lỗi gặp phải.
Sách về VBA Trên Thư viện:

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

33#
HatinhPro Đăng lúc 2/11/2016 20:02 | Chỉ xem của tác giả
tranhoe gửi lúc 14/9/2016 14:09
Vậy thì ít nhiều Em cũng biết được VBA.
Theo Anh thì những cái cần nắm trước tiên ...

Vâng, cảm ơn bác Tranhoe, bác giúp đỡ cho tôi vấn đề này chút xíu. Tôi cũng tìm hiểu mãi về VBA, ko biết do ngu ngơ hay không đúng cách mà nhiều vấn đề tôi vẫn không thể tự mình viết code được. Tôi đưa 1 cái file này cho bác, nhờ bác giúp tôi mấy vấn đề như sau:1. Những dòng như 12, và 21 (có thể những dòng khác nữa....) tạm thời là 2 dòng này trước đã: Vấn đề tôi gặp phải là khi dùng lệnh vlookup, thì ở dòng 12 và 21 nó không tự động fit cho đúng dòng chữ để phù hợp với ô của mình, tôi chỉ có thể chỉnh bằng tay (bằng cách kéo chuột dãn dòng, việc này thật sự quá mất công, nếu như số bb lên tới hơn 100bb). Tôi đã sử dụng các code mà anh fubi cũng như bác tranhoe đưa ra, nó chỉ giải quyết cho tôi fit ô chữ khi dòng cần thiết từ dòng (chiều cao) nhỏ sang dòng (chiều cao)lớn, còn ngược lại ko được. VD: trong file của tôi, sau khi sử dụng code (tham khảo của các anh) đánh số (vd số 27) ở ô F2 trong sheet Request thì ok, nhưng khi đánh số 1 thì dòng chữ của tôi (dòng 12, 21) lại ko thể fit để phù hợp với dòng chữ trong hàm đó.
2. Tôi đã tham khảo và sử dụng các code trên diễn đàn để in hàng loạt bb trong sheet request , tuy nhiên tôi ko làm được. Tôi nhờ anh tranhoe (hoặc anh fubi) trước tiên là viết cho tôi code đề làm được 2 điều này (in trang 1 và làm sao khi đặt lệnh in thì nó sẽ không hiện ra số để lấy hàm vlookup ở đây vd là số 27, (khi dùng lệnh in ctrl+P thì nó vẫn hiện ra 2 trang in)). Sau đó, có thể hướng dẫn cho tôi (và anh em trên diên đàn) cụ thể hơn chút được không? Có nghĩa là bb nào cũng làm được như vậy với bất kỳ hàm nào.
3. Tôi xin hỏi thêm chút, về những bb nghiệm thu trong xd nên sử dụng hàm nào thì thuận tiện VD như Index hay vlookup.
4. Tôi xin trân trọng cảm ơn các anh đã giúp đỡ tôi, cũng như anh em trên diễn đàn. Chúc các anh và đại gia đình sức khoẻ, bình an!

REQUEST.xlsx

48.7 KB, Lượt tải về: 8768

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

34#
tranhoe Đăng lúc 2/11/2016 22:10 | Chỉ xem của tác giả
HatinhPro gửi lúc 2/11/2016 20:02
Vâng, cảm ơn bác Tranhoe, bác giúp đỡ cho tôi vấn đề này chút xíu. Tôi cũng tìm  ...

+ Trả lời câu hỏi số 2 trước: Muốn in vùng dữ liệu mong muốn (ví dụ trong sheets Request là vùng "A1:E40" thì chọn vùng đó, xong vào File\Print Area\Set Print Area.
Đây là kiến thức sơ đẳng trong Excell - Tôi đã Set trong file.
+ Câu hỏi số 1: Tôi đưa code vào vẫn chạy bình thường
Ở đây Tôi AutoFit_MergeCell cho cell "A12" và "A21", nếu là ô khác hoặc trong biên bản khác thì sửa lại cho đúng.
Tong Sub Worksheet_Change Tôi có 1 dòng lệnh '.PrintOut nếu muốn in tự động thì xóa dấu nháy đơn trước nó (chỉ còn lại .PrintOut) là OK
+ Câu hỏi số 3: dùng hàm nào cũng được miễn là đúng cú pháp và dễ nhớ để không gõ sai
[Visual Basic] 纯文本查看 复制代码
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Address <> "$F$2" Then Exit Sub
     With ActiveSheet
          Range("A12").Select
          AutoFit_MergeCell
          Range("A21").Select
          AutoFit_MergeCell
          '.PrintOut
     End With
End Sub

Sub AutoFit_MergeCell()
     Dim NewRwH As Single
     Dim cWd As Single, MrgeWd As Single
     Dim c As Object, cc As Object
     Dim ma As Object
     With ActiveCell
          If .MergeCells And .WrapText Then
               Application.ScreenUpdating = False
               cWd = .ColumnWidth
               Set ma = .MergeArea
               For Each cc In ma.Cells
                    MrgeWd = MrgeWd + cc.ColumnWidth
               Next
               ma.MergeCells = False
               .ColumnWidth = MrgeWd
               .EntireRow.AutoFit
               NewRwH = .RowHeight
               .ColumnWidth = cWd
               With ma
                    .MergeCells = True
                    .RowHeight = NewRwH
                    .VerticalAlignment = xlCenter
                    .HorizontalAlignment = xlJustify
               End With
               Application.ScreenUpdating = True
          End If
     End With
End Sub

REQUEST.xlsm (56.78 KB, Lượt tải về: 8086)

Đánh giá

Chia sẻ hay! Thanks bạn nhé!: 5.0
Chia sẻ hay! Thanks bạn nhé!: 5
Cảm ơn anh rất nhiều!  Đăng lúc 3/11/2016 06:31

Số người tham gia 1Thanked +2 Thu lại Lý do
HatinhPro + 2 Rất chuyên nghiệp! Thanks!

Xem tất cả

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

35#
HatinhPro Đăng lúc 3/11/2016 06:30 | Chỉ xem của tác giả
tranhoe gửi lúc 2/11/2016 22:10
+ Trả lời câu hỏi số 2 trước: Muốn in vùng dữ liệu mong muốn (ví dụ trong sheets Req ...

Cảm ơn anh rất nhiều!

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

36#
ksnguyenquyen Đăng lúc 20/2/2017 14:02 | Chỉ xem của tác giả
ksnguyenquyen gửi lúc 5/4/2016 14:18
Chú cho con hỏi là. Con giờ chỉ tạo 1 template thôi. Chỉ thây đổi 1 số thứ như tiêu ...

http://www.fshare.vn/file/QKF3X6OP8PMR
Con không biết cách đưa file lên diễn đàn. Khi nội dung file nguồn thay đổi. Những dòng bôi vàng ở file đến từ động dãn dòng theo. Chú chỉ giúp con với ạ.

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

37#
haudk8 Đăng lúc 24/9/2017 22:24 | Chỉ xem của tác giả
Chào các bác. Em có file quản lý và in giấy Rút dự toán. Sheet Giay RDT có các ô được MERGE. Em muốn các ô này được điều chỉnh tự động chiều cao khi dữ liệu liên kết từ sheet Danh sach thay đổi theo từ số Giay RDT.
Em nhờ các bác thêm giúp em cái code. Em kg rành về code nên không là được. Mong các bác giúp em với. Em xin gửi file đính kèm Trân trọng cảm ơn!

In Giay RDT.xlsm

65.56 KB, Lượt tải về: 4911

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

38#
baocatsamac_nd Đăng lúc 26/9/2017 08:31 | Chỉ xem của tác giả
haudk8 gửi lúc 24/9/2017 22:24
Chào các bác. Em có file quản lý và in giấy Rút dự toán. Sheet Giay RDT có các ô đư ...

Không biết đúng ý bạn chưa

In Giay RDT.xlsm

69.42 KB, Lượt tải về: 5409

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

39#
haudk8 Đăng lúc 26/9/2017 10:28 | Chỉ xem của tác giả
baocatsamac_nd gửi lúc 26/9/2017 08:31
Không biết đúng ý bạn chưa

Cảm ơn bạn rất nhiều. Mình thấy nếu vẫn dùng thêm Nút 1 để cho nó thực hiện fit chiều cao dòng thì lại phải thêm động tác nữa. Nếu được bạn có thể cho nó tự động hoàn toàn như trong file đã tự động ẩn hàng khi giá trị ô chỉ định =0 được không? Nếu mình muốn phát triển thêm các báo cáo nữa mà mình cần dùng kiểu tự động fit chiều cao dòng thì cần làm như thế nào? Rất mong bạn giúp đỡ. Trân trọng cảm ơn bạn!

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

40#
baocatsamac_nd Đăng lúc 26/9/2017 14:29 | Chỉ xem của tác giả
haudk8 gửi lúc 26/9/2017 10:28
Cảm ơn bạn rất nhiều. Mình thấy nếu vẫn dùng thêm Nút 1 để cho nó thực hiện fit ch ...

cái này mình chịu, mình cũng ko biết gì về VBA. bạn hỏi mọi người xem

In Giay RDT.xlsm

69.51 KB, Lượt tải về: 5064

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

41#
haudk8 Đăng lúc 26/9/2017 14:53 | Chỉ xem của tác giả
baocatsamac_nd gửi lúc 26/9/2017 14:29
cái này mình chịu, mình cũng ko biết gì về VBA. bạn hỏi mọi người xem

Cảm ơn bạn nhé. Code tự động ẩn dòng khi dữ liệu bằng không đã có trong sheet GRDT rồi mà (cái này mình tìm được ở trên mạng thôi). Ý mình cần là việc điều chỉnh độ cao của hàng được tự động, không phải dùng thêm nút 1 nữa.

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

42#
baocatsamac_nd Đăng lúc 26/9/2017 15:02 | Chỉ xem của tác giả
haudk8 gửi lúc 26/9/2017 14:53
Cảm ơn bạn nhé. Code tự động ẩn dòng khi dữ liệu bằng không đã có trong sheet GRDT ...

Thì mình đã gửi lại cho bạn rồi đó, nhưng vẫn phải bấm nút xoay bên sheet GRDT. Sheet kia bây giờ chỉ để nhập số liệu thôi

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

43#
haudk8 Đăng lúc 26/9/2017 22:45 | Chỉ xem của tác giả
baocatsamac_nd gửi lúc 26/9/2017 15:02
Thì mình đã gửi lại cho bạn rồi đó, nhưng vẫn phải bấm nút xoay bên sheet GRDT. Sh ...

Cảm ơn bạn. File bạn gửi lần đầu vẫn dùng được, tuy phải dùng thêm Nút 1. Ý mình muốn tự động hoàn toàn thì nó Pro hơn thôi. Bạn có thể là theo hướng đó được không?

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

44#
baocatsamac_nd Đăng lúc 27/9/2017 11:53 | Chỉ xem của tác giả
haudk8 gửi lúc 26/9/2017 22:45
Cảm ơn bạn. File bạn gửi lần đầu vẫn dùng được, tuy phải dùng thêm Nút 1. Ý mìn ...

Cái này vẫn bị lỗi, chắc bạn phải nhờ người khác thôi

In Giay RDT.xlsm

66.25 KB, Lượt tải về: 5582

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

45#
haudk8 Đăng lúc 27/9/2017 12:06 | Chỉ xem của tác giả
baocatsamac_nd gửi lúc 27/9/2017 11:53
Cái này vẫn bị lỗi, chắc bạn phải nhờ người khác thôi

Chân thành cảm ơn bạn vì sự giúp đỡ mình vừa qua. Mình thử tiếp tục nhờ các bạn khác xem sao. Chúc bạn cùng gia đình mạnh khỏe, hạnh phúc, bạn sẽ gặp nhiều may mắn trong cuộc sống. Trân trọng!Em rất mong các bác trong diễn đàn bớt chút thời gian giúp em hoàn thiện file đó với.
Trân trọng cảm ơn!

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

46#
votinh3290 Đăng lúc 27/9/2017 14:52 | Chỉ xem của tác giả
haudk8 gửi lúc 24/9/2017 22:24
Chào các bác. Em có file quản lý và in giấy Rút dự toán. Sheet Giay RDT có các ô đư ...

Nếu chỉ vài dòng đó thì đơn giản là làm như này

In Giay RDT.xlsm

65.94 KB, Lượt tải về: 5751

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

47#
haudk8 Đăng lúc 28/9/2017 07:45 | Chỉ xem của tác giả
votinh3290 gửi lúc 27/9/2017 14:52
Nếu chỉ vài dòng đó thì đơn giản là làm như này

Cảm ơn bạn nhé. Hôm rồi mình có sửa và bổ sung vào file của mình sheet BC Du toan nữa, mình copy code của bạn vào file của mình nhưng nó không chạy được. Bạn sửa lại vào file này giúp mình với nhé. Bạn giúp luôn mình sheet BC Du toan cũng tự động điều chỉnh độ cao của hàng nữa nhé. Trân trọng cảm ơn bạn!

In Giay RDT 1.xlsm

156.89 KB, Lượt tải về: 10852

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

48#
votinh3290 Đăng lúc 28/9/2017 13:56 | Chỉ xem của tác giả
haudk8 gửi lúc 28/9/2017 07:45
Cảm ơn bạn nhé. Hôm rồi mình có sửa và bổ sung vào file của mình sheet BC Du toan nữ ...

ủa! Mình đã viết Code nào đâu nhỉ, chỉ bố trí lại dòng và cột, Nếu có nhiều dòng và cần fit thì mới cần code, thêm 1 vòng lặp nữa là được

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

49#
haudk8 Đăng lúc 28/9/2017 14:54 | Chỉ xem của tác giả
votinh3290 gửi lúc 28/9/2017 14:11
Mình từng bảo cái này mình làm khá đơn giản, nhưng có chú Trần Hòe có vẻ không  ...

Cảm ơn bạn! Vì mình không chưa học về VBA, mới chỉ đọc qua tý thôi, chưa viết được đoạn code nào, chỉ copy rồi thử thôi, do vậy không biết đúng sai ở đâu. Với file này, bạn sửa lại giúp mình vì đã thử rồi, hàng 15 trong sheet In Giay RDT không thay đổi được độ cao tự động, Sheet BC Du toan cũng không thay đổi được độ cao tự động. Mình gửi lại bạn sửa giúp mình với nhé. Trân trọng cảm ơn!

In Giay RDT 1 (lan 2).xlsm

156.67 KB, Lượt tải về: 9006

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

50#
baocatsamac_nd Đăng lúc 28/9/2017 15:54 | Chỉ xem của tác giả
votinh3290 gửi lúc 28/9/2017 14:11
Mình từng bảo cái này mình làm khá đơn giản, nhưng có chú Trần Hòe có vẻ không  ...

cuối cùng bác cũng nói ra

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Phiên bản Mobile|Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng  

Phần mềm dự toán xây dựng excel | Hướng dẫn lập dự toán xây dựng | Phần mềm tư vấn giám sát | Phần mềm quản lý chất lượng xây dựng |

Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng

Phần mềm ôn thi sát hạch chứng chỉ hành nghề Kiến Trúc sư

Phần mềm ôn thi sát hạch chứng chỉ hành nghề Đấu thầu

GMT+7, 3/5/2024 09:55 , Processed in 0.200862 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Kiso Comsenz Inc.