Vba Nhập ảnh vào Excel - Jpeg, Gif, Tiff, Png, v.v. từ Thư mục và Sắp xếp Ảnh cũ và Đến hàng Cuối cùng

Vba Nhập ảnh vào Excel - Jpeg, Gif, Tiff, Png, v.v. từ Thư mục và Sắp xếp Ảnh cũ và Đến hàng Cuối cùng

Xin chào,

Đưa ra mẫu nhập mã Vba Tất cả hình ảnh từ Thư mục sang trang tính excel và sau khi nhập hình ảnh và Điều chỉnh theo Kích thước tùy chỉnh như Chiều cao: 20,32 cm và Chiều rộng 36,14 cm, Chiều cao tỷ lệ: 88% và Chiều rộng tỷ lệ 92% và cũng có đường viền ô Viền. chèn bắt đầu Từ A1, nếu việc thêm Ảnh mới vào cùng một trang tính không ảnh hưởng đến ảnh cũ, Ảnh mới được thêm vào Hàng cuối cùng.

nếu trang ngoài cột A1, nếu có hình nào ở đó, cũng được sắp xếp và đến hàng Cuối cùng. tôi đã tải lên tệp mẫu liên kết dưới đây


https://1drv.ms/x/s!AqIYf-7mjNDsgXHi3zO7mBoVle4p?e=fqHiiv




Câu trả lời:

Xin chào CV của Jeovany,

Công việc tốt đẹp, chắc chắn giúp ích cho việc quản lý chứng khoán. nhưng bạn có thêm nhận xét được thêm vào Tên trong mã vba, nếu Hình ảnh có thể Tên sẽ xuất hiện trong cột B2. bạn đã bỏ qua một số Mã, nếu có Hình ảnh   được đưa vào lịch phát sóng ngoài cột A1, được sắp xếp ( Kích thước tùy chỉnh như Chiều cao: 20,32 cm và Chiều rộng 36,14 cm, Chiều cao tỷ lệ: 88% và Chiều rộng tỷ lệ 92% và cũng có đường viền ô Viền) và nằm dưới hàng cuối cùng được thêm vào cột A1. Cảm ơn bạn Một lần nữa cho bạn ... Mã này giúp ích cho tất cả mọi người .. Tình huống khác nhau ...


.

>

Hari thân mến

Về:

"... nếu Tên hình ảnh có thể xuất hiện trong các cột B2."

CÓ, không có vấn đề gì mã bên dưới đã được sửa.

Về:

"... bạn đã bỏ qua một số Mã , nếu bất kỳ Hình ảnh nào vượt quá cột A1, được sắp xếp (Kích thước tùy chỉnh như Chiều cao: 20,32 cm và Chiều rộng 36,14 cm, Chiều cao tỷ lệ: 88% và Chiều rộng tỷ lệ 92% và cũng có Đường viền đường viền ô) và đi kèm dưới hàng cuối cùng được thêm trong cột A1.

Tôi không biết tại sao bạn nói rằng tôi đã bỏ qua một số mã.

Có lẽ bạn cần biết và lưu ý,

rằng những hình ảnh bạn muốn nhập để vượt trội, chúng phải có cùng kích thước W x L

Bạn phải cắt ảnh theo cùng kích thước bằng phần mềm hình ảnh khác như Photoshop

Hình ảnh dưới đây cho bạn thấy Kích thước của những hình ảnh tôi đã sử dụng trong tệp mẫu của bạn

Tất cả các hình ảnh có kích thước khác nhau (kích thước)

Và đây là những gì sẽ xảy ra khi bạn bán lại sau đó theo yêu cầu của bạn

Như bạn nhận thấy trong hình, không phải tất cả các lá cờ đều có hình dạng và kích thước giống nhau

Vì vậy, đây là điều bạn phải làm (sửa chữa) trước khi chạy macro

IMHO, Điều này không thể được thực hiện với VBA

Tôi đã thực hiện một số điều chỉnh đối với mã.

Đây là thành quả với những hình ảnh mình có được bên mình

Tên hình ảnh nằm trong cột B

Đường viền trong các ô trong cột A hiển thị rõ hơn

Về:

"... Cảm ơn Bạn một lần nữa cho bạn ... Mã này giúp ích cho tất cả mọi người .. Tình huống khác nhau ..."

Nếu câu trả lời đã giúp bạn.

Vui lòng xem xét đánh dấu chủ đề này là đã trả lời.

Nó sẽ giúp những người khác trong cộng đồng có những câu hỏi hoặc vấn đề tương tự.

Cảm ơn bạn trước


Đây là mã

************************************************** *************************************************

Sub InsertPicturesfromFolder ()


Dim Lrow As Long

Dim picRng As Range

Dim fPicker As FileDialog

Làm mờ thư mụcPath As String

Dim ảnhName As Variant


'' Phần 1: Chọn thư mục

Đặt fPicker = Application.FileDialog (msoFileDialogFolderPicker)

fPicker.AllowMultiSelect = Sai

fPicker.Show

folderPath = fPicker.SelectedItems (1) & "\" '' đường dẫn thư mục

pictureName = Dir (folderPath) '' 'tên của tệp (ảnh)


Application.ScreenUpdating = Sai

'' Phần 2: Lặp qua các tệp (ảnh) trong thư mục đã chọn

Do Until pictureName = ""

'' Hàng được sử dụng cuối cùng trong cột B

Lrow = ActiveSheet.Cells (Rows.Count, "B"). End (xlUp) .Row

Đặt pictureRng = Range ("A" & Lrow + 1)


'' 'Định dạng ô theo yêu cầu

Với ảnhRng

.Offset (0, 1) .Value = pictureName

.ColumnWidth = 26,88

.RowHeight = 84

.Borders (xlDiricalDown) .LineStyle = xlNone

.Borders (xlDiricalUp) .LineStyle = xlNone

Với .Borders (xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

Kết thúc với

Với .Borders (xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

Kết thúc với

Với .Borders (xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

Kết thúc với

Với .Borders (xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = 0

.TintAndShade = 0

.Weight = xlMedium

Kết thúc với

.Borders (xlInsideVertical) .LineStyle = xlNone

.Borders (xlInsideHorizontal) .LineStyle = xlNone


Kết thúc với

'' '' Thêm nhận xét vào ô

Với ảnhRng.AddComment

.Vible = False

.Text pictureName

Kết thúc với


'' Phần 3: Chèn ảnh vào ô

Làm mờ myPic

Đặt myPic = ActiveSheet.Shapes.AddPicture (Tên tệp: = folderPath & pictureName, _

linktofile: = msoFalse, savewithdocument: = msoCTrue, Left: = 1, Top: = 1, Width: = - 1, Height: = - 1)


'' Định dạng ảnh theo yêu cầu

myPic.Select

Selection.ShapeRange.LockAspectRatio = msoTrue

Selection.ShapeRange.ScaleHeight 0,88, msoFalse, msoScaleFromTopLeft

Selection.ShapeRange.ScaleWidth 0,92, msoFalse, msoScaleFromTopLeft

Selection.Left = pictureRng.Left + 5

Selection.Top = pictureRng.Top + 5

Selection.Width = pictureRng.Width - 10

Selection.Height = pictureRng.Height - 10

pictureName = Dir


Vòng

Đặt fPicker = Không có gì


'' 'Định dạng cột B

Cột ("B: B"). HorizontalAlignment = xlCenter

Cột ("B: B"). VerticalAlignment = xlCenter

Cột ("B: B"). WrapText = True


Application.ScreenUpdating = True


MsgBox "Hoàn thành công việc"


Kết thúc Sub

> ************************************************* ************************************************** ***

Trân trọng

Jeovany

Comments

Popular posts from this blog

Macro Đã bật Excel bị hỏng khi sử dụng Excel> Chia sẻ> Email> Gửi dưới dạng tệp đính kèm

Microsoft excel - Tạo công thức trong đó dữ liệu từ các tab / Bảng tính khác nhau có thể được đồng bộ hóa dựa trên một ô trên bảng tính

Làm mới danh sách SharePoint đã xuất không thành công trong Excel 2013 khi hoạt động với Excel 2010