cố định, không thay đổi kích thước, ( fit) độ rộng dòng, cột (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

khanhnth02

Thành viên thường trực
Tham gia
5/8/07
Bài viết
330
Được thích
36
cho tôi hỏi làm sao để cố định, không thay đổi kích thước, ( fit) độ rộng dòng, cột khi tôi sort hoặc di chuyển dòng. giả sử một số ô có hình ảnh và kích thước mỗi dòng khác nhau.
chân thành cảm ơn mọi người đã quan tâm!
1741851704850.png
 

File đính kèm

Bạn chỉ cần nhấn Ctrl+G, tích chọn Object toàn bộ đối tượng ảnh

Trên thanh Ribbon, tab Picture Format, chọn Reset Picture & Size

1741855826970.png

Nhấn chuột phải vào các đối tượng ảnh đã chọn, chọn định dạng đối tượng, tìm đến đánh dấu tùy chọn Lock Aspect ratio

1741855677334.png1741856020436.png


 
1741861121773.png

khi tôi sort lại mã hàng (cột A) thì hình ảnh cho ra không đủ anh. nghĩa là độ rộng dòng thay đổi sau khi sort nhỉ? Tôi muốn độ rộng của dòng chứa ảnh ban đầu vẫn không thay đổi sau khi sort thì làm cách nào vậy anh
 
Bạn chạy lệnh VBA sau, tạo một Module. Chép mã vào module đó. Và chạy bằng nút F5, hoặc nút Run. Bạn có thể thêm mã Sort vào trong mã bên dưới. Để có mã Sort bạn cần thực hiện Record Macro.

JavaScript:
Sub FitRowHeightByHeightPicture()
  On Error Resume Next
  Application.ScreenUpdating = False
  Dim o
  for each o in ActiveSheet.Pictures
    With o.TopLeftCell
        .EntireRow.RowHeight = o.Height + 3 + o.top - .top
    End With
  Next
  Application.ScreenUpdating = true
End Sub
 
Lần chỉnh sửa cuối:
1741918371682.png
Mình làm đến bước này rồi, nhưng khi sort thì nó vẫn chạy những ô chứa ảnh ko đúng kích thước ban đầu. Mình cũng mù tịt về mã code. Bạn vui lòng viết thêm cho đoạn sort với.( Những ô chứa ảnh sẽ không thay đổi kích thước sau khi sort ) cảm ơn bạn rất nhiều
 
Mã có sắp xếp chạy như sau

JavaScript:
Sub FitRowHeightByHeightPicture()
  On Error Resume Next
  Application.ScreenUpdating = False
  With ActiveSheet
  Dim Sh As Worksheet, rg
  Set Sh = ActiveSheet
  Set rg = Sh.Range("A1").Resize(10000)
  With .Sort
    .SortFields.clear
    .SortFields.Add2 key:=rg, SortOn:=xlSortOnValues, order:=xlAscending, DataOption:=xlSortNormal
    .SetRange rg.Resize(, 6)
    .Header = xlYes
    .matchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
  End With
      Dim o
      for each o in .Pictures
        With o.TopLeftCell
            .EntireRow.RowHeight = o.Height + 3 + o.top - .top
        End With
      Next
  End with
  Application.ScreenUpdating = true
End Sub
 
Web KT

Bài viết mới nhất

Back
Top Bottom