Hỏi về vẽ bố trí hình tròn có điêu kiện? (4 người xem)

  • Thread starter Thread starter nad582
  • Ngày gửi Ngày gửi
Liên hệ QC

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

nad582

Thành viên thường trực
Tham gia
7/6/11
Bài viết
317
Được thích
48
Chào các a(c) trong GPE, e có câu hỏi về vẽ hình bằng VBA xin các a(c) giúp đỡ!!

View attachment 125656


















ví dụ:
như trên hình vùng màu đỏ là điều kiện để vẽ vùng màu xanh,
yêu cầu là vẽ hình dấu chấm(vùng màu xanh) theo điều kiện vùng màu đỏ.
Ở vùng màu xanh có 2 hàng: hàng trên và hàng dưới (như trong hình có 1 hàng là hàng dưới), như vậy tại vùng điều kiện, ta nhập hàng dưới là 2 (vẽ 2 dấu chấm ở hàng dưới, hàng trên ta nhập là 0 thì ko cần vẽ)
tiếp tục như vậy, ví dụ hàng dưới ta nhập là 3 và hàng trên ta nhập là 2 thì kết quả là:

View attachment 125657

















Lưu ý: vùng tô màu xanh lá là cố định...
còn về hình thì trong file đính kèm có 2 sheet là vidu và debai

View attachment 125659






















vùng tô màu là e tách các hình nhỏ và dấu châm ra các hình khác thì các hình thành 1 khối, a(c) có thể sử dụng hình ví dụ của e hoặc tạo hình khác giống như yêu cầu đề bài..!!
khi thực hiện tại sheet debai...
e chân thành cảm ơn!!
 
Chỉnh sửa lần cuối bởi điều hành viên:
Chào a! Số dấu chấm mỗi hàng lớn nhất khoảng chừng 5 (>= 5) thôi!!
Cái chỗ tô đỏ ấy mới là MỆT nè. Cuối cùng vẫn không biết lớn nhất là bao nhiêu? >= 5 Có thể là 1000 chăng?
Thật tình sory anh, tối buồn ngủ nên nhấn bàn phím nhầm, nhỏ hơn bằng 5 (<=5) mới đúng, chứ lớn hơn thì không đúng!! a thông cảm!! e cảm ơn nhiều!!
 
Lần chỉnh sửa cuối:
- buộc phải dùng đến Shape hay chỉ cần ra kết quả như các hình (Picture) trong file là được vậy ?

(cho hỏi, bạn đang dùng Excel phiên bản mấy ?)
Chào a, a dùng công cụ vẽ trong Excel cũng được, dùng hình vẽ trong file đính kèm cũng được miễn sao hình tạo ra giống như yêu cầu trong bài!!
e dùng Excel 2003 và 2010, nhưng do bài này e chia sẽ co nhiều người nên thường dùng 2003...
cảm ơn anh!!
 
Chào a, a dùng công cụ vẽ trong Excel cũng được, dùng hình vẽ trong file đính kèm cũng được miễn sao hình tạo ra giống như yêu cầu trong bài!!
e dùng Excel 2003 và 2010, nhưng do bài này e chia sẽ co nhiều người nên thường dùng 2003...
cảm ơn anh!!

bạn tải file đính kèm,
nhập số thứ tự từ 1 đến 9 tại ô A2 của sheet debai để xem kết quả

'---------
(chủ yếu dùng Font Wingdings + Conditional Formatting + Camera)
chỉ tính trong các trường hợp mà bạn đã nêu còn ngoài ra ...:giveup:
 

File đính kèm

bạn tải file đính kèm,
nhập số thứ tự từ 1 đến 9 tại ô A2 của sheet debai để xem kết quả

'---------
(chủ yếu dùng Font Wingdings + Conditional Formatting + Camera)
chỉ tính trong các trường hợp mà bạn đã nêu còn ngoài ra ...:giveup:
Như vầy thì chỉ ra được hình dạng của nó thôi chứ ko ra được kết quả như yêu cầu đề bài!!
E có ý kiền này nhờ a(c) giúp cho:
đối với bài này thì:
B1. e đưa ra các trường hợp của dấu chấm ứng với các hình vẽ ờ sheet vidu
B2. tại sheet debai nhập số ứng với các hình vẽ thì hình vẽ đó sẽ xuất hiện, ko cần phải vẽ các dấu chấm ra như bài #1 nữa!!
Ví dụ:
View attachment 125741
Ở sheet vídu e đã tạo các trường hợp hình dấu chấm xuất hiện ứng với mã hiệu của nó (vùng tô màu đỏ)
View attachment 125742
Ở sheet đề bài e nhập mã hiệu tại ô B5 thì hình sẽ xuất hiện, như hình thì e chọn hình số 1 (tại ô B5 nhập là 1)
Mong a(c) giúp cho!! chân thành cảm ơn!!
mong hồi âm
 
Như vầy thì chỉ ra được hình dạng của nó thôi chứ ko ra được kết quả như yêu cầu đề bài!!
E có ý kiền này nhờ a(c) giúp cho:
đối với bài này thì:
B1. e đưa ra các trường hợp của dấu chấm ứng với các hình vẽ ờ sheet vidu
B2. tại sheet debai nhập số ứng với các hình vẽ thì hình vẽ đó sẽ xuất hiện, ko cần phải vẽ các dấu chấm ra như bài #1 nữa!!
....
hình như bài toán của bạn "rất đơn giản" ... --=0 (có thể áp dụng cho bất kỳ hình dạng nào)
bạn tải file đính kèm xem sao nhé !
- nhập mã hiệu tại ô B5 sheet debai
(có 1 Name = MyPic1 để hỗ trợ load Pic từ sheet 3)
 

File đính kèm

hình như bài toán của bạn "rất đơn giản" ... --=0 (có thể áp dụng cho bất kỳ hình dạng nào)
bạn tải file đính kèm xem sao nhé !
- nhập mã hiệu tại ô B5 sheet debai
(có 1 Name = MyPic1 để hỗ trợ load Pic từ sheet 3)
cách này đơn giản thật!!
như vậy mình có thể sử dụng code (vba) để thực hiện được không anh!!
ý e là muốn dùng code cho hiểu vấn đề hơn!!
cảm ơn anh, mong hồi âm!!
 
cách này đơn giản thật!!
như vậy mình có thể sử dụng code (vba) để thực hiện được không anh!!
ý e là muốn dùng code cho hiểu vấn đề hơn!!
cảm ơn anh, mong hồi âm!!
- các dạng chèn ảnh mình chỉ dùng code khi:
(1) đòi hỏi ảnh có độ phân giải cao
(2) có đến hàng trăm trường hợp xảy ra (Pic)
vì nó dễ khiến file chạy chậm + rất nặng ---> phải đặt ảnh bên ngoài file cùng chung 1 thư mục của file đó.

'---------
bạn tham khảo 2 link sau:
Làm sao để chèn ảnh vào sheet?
Trợ giúp về hàm auto insert picture
 
- các dạng chèn ảnh mình chỉ dùng code khi:
(1) đòi hỏi ảnh có độ phân giải cao
(2) có đến hàng trăm trường hợp xảy ra (Pic)
vì nó dễ khiến file chạy chậm + rất nặng ---> phải đặt ảnh bên ngoài file cùng chung 1 thư mục của file đó.

'---------
bạn tham khảo 2 link sau:
Làm sao để chèn ảnh vào sheet?
Trợ giúp về hàm auto insert picture
Phải nhất thiết đặt ảnh bên ngoài sao anh?
ý e là đã tạo hình sẵn trong sheet vidu rồi (về kích thước và tên cũng có sẵn)
tạo code em nghĩ là dùng Worksheet_Change (nhưng e chưa viết được), gán tên hình vào mã hiệu, khi đó tại sheet debai chỉ cần nhập mã hiệu vào thì hình sẽ hiện ra!!
(hoặc là tại sheet debai nhập tên của hình là hình hiện ra cũng được)...
đối với bài của anh, khi e thay đổi các hình bên sheet3 thì bên sheet đề nó ko thấy, nên e cũng chưa hiểu về cách hoạt hoạt của nó!!
View attachment 125753View attachment 125755
Nhờ a(c) viết giúp e VBA và giải thích dùm em chổ bị thay đổi!!
e chân thành cảm ơn!! mong hồi âm
 
Phải nhất thiết đặt ảnh bên ngoài sao anh?
ý e là đã tạo hình sẵn trong sheet vidu rồi (về kích thước và tên cũng có sẵn)
tạo code em nghĩ là dùng Worksheet_Change (nhưng e chưa viết được), gán tên hình vào mã hiệu, khi đó tại sheet debai chỉ cần nhập mã hiệu vào thì hình sẽ hiện ra!!
(hoặc là tại sheet debai nhập tên của hình là hình hiện ra cũng được)...
đối với bài của anh, khi e thay đổi các hình bên sheet3 thì bên sheet đề nó ko thấy, nên e cũng chưa hiểu về cách hoạt hoạt của nó!!
....
Nhờ a(c) viết giúp e VBA và giải thích dùm em chổ bị thay đổi!!
e chân thành cảm ơn!! mong hồi âm

- khi dùng hàm nên có quy đinh "hơi chặt chẽ" là các Pic phải cho đặt lọt vào 1 ô cột F của Sheet3 luôn do nó tham chiếu dựa vào địa chỉ ô.
- hoặc nếu dùng Macro thì linh hoạt hơn ... ---> tải file đính kèm xem sao nhé !
Mã:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim myObj As String

    On Error Resume Next 'neu ko tim` thay' Pic
    
    If Target.Address = "$B$5" Then
    If Target = "" Then Exit Sub
        ActiveSheet.Shapes("tmpPic").Delete
        myObj = Range("E5").Value
        Sheets("Sheet3").Shapes(myObj).Copy
        '----------
        With Range("F7")
            .PasteSpecial
            Selection.Name = "tmpPic"
            Selection.Left = .Left
            Selection.Top = .Top
            Selection.Width = .Width
            Selection.Height = .Height
        End With
    End If
  
    Target.Select

End Sub
 

File đính kèm

Không VBA, không picture, không camera, chỉ cần cheettit
 

File đính kèm

Lần chỉnh sửa cuối:
Thật là hay, không ngờ e học được nhiều thứ như vậy (từ công thức, code VBA, đến thủ thật) hì hì
a cho e hỏi:
làm sao để ký tự chứa trong cells can về 2 bên như hình vậy?
bạn xem format cells, alignment sẽ rõ
Bạn có thể sửa công thức đơn giản hơn như:
=REPT("l ",A2-1)&"l"

=REPT("l ",B2-1)&"l"
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom