Marco không hoạt động khi gửi file qua máy khác (1 người xem)

Liên hệ QC

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

luvofdevil

Thành viên mới
Tham gia
30/5/08
Bài viết
2
Được thích
0
chào thành viên của diễn đàn.
Mình là newbie cũng chỉ biết sơ sơ về macro,có sưu tầm được 1 đoạn macro mình làm tất cả đều chạy rất tốt trong máy của mình,thế nhưng khi mình gửi file đó qua máy khac,moi lần chỉnh sữa dữ liệu thì kết quả nó bị báo lổi.
mình có lưu macro theo dạng add-in va gửi kèm theo và bảo user add những add-in vô máy của họ thế nhưng cái công thức thì nó vẫn hiển thị là từ máy của mình.
đều này muốn macro chạy thì mình sẽ bảo nguoi ta add các add-in xong sẽ sữa lại công thức ?Như vậy thì bất tiện quá
có cách nào tạo macro bên máy mình,xong gửi file qua máy khác ,người dùng chỉnh sữa dữ liệu nhưng các công thức được tạo từ macro vẫn hiểu va hoạt động?
nhờ các thành viên chỉ giúp a!
cảm ơn rất nhiều
 
nguyên nhân là bạn sử dụng hàm Function trong *.xla (cài cho máy) nên copy sang máy khác là không nhận.
Muốn sử dụng hàm thì khai báo trong Module của file bạn muốn.
 
Upvote 0
chào thành viên của diễn đàn.
Mình là newbie cũng chỉ biết sơ sơ về macro,có sưu tầm được 1 đoạn macro mình làm tất cả đều chạy rất tốt trong máy của mình,thế nhưng khi mình gửi file đó qua máy khac,moi lần chỉnh sữa dữ liệu thì kết quả nó bị báo lổi.
mình có lưu macro theo dạng add-in va gửi kèm theo và bảo user add những add-in vô máy của họ thế nhưng cái công thức thì nó vẫn hiển thị là từ máy của mình.
đều này muốn macro chạy thì mình sẽ bảo nguoi ta add các add-in xong sẽ sữa lại công thức ?Như vậy thì bất tiện quá
có cách nào tạo macro bên máy mình,xong gửi file qua máy khác ,người dùng chỉnh sữa dữ liệu nhưng các công thức được tạo từ macro vẫn hiểu va hoạt động?
nhờ các thành viên chỉ giúp a!
cảm ơn rất nhiều

+ Oh, bạn hỏi thế khó trả lời

+ Giá như bạn upload nội dung lên đây, thì dễ phân tích

+ Chỉ góp ý thế này vậy: Để xd SUB, hay FUNCTION cho AddIn thì chúng ta phải XD sao cho tổng quát, không phụ thuộc tên sheet, k phụ thuộc Dữ liệu, ô riêng - nếu có thì phải sd với template hoặc DL trong trường hợp bài toán nào đó,...vv
 
Upvote 0
Trước hết cảm ơn rất nhiều sự giúp đở của các thành viên.
Nhân tiện em up lên file nhờ các anh chị xe, và giúp đở giải quyết vấn đề này dùm em nhé.
trong ô tính total Hrs em suu tầm được đoạn code :countbycolor


Function countByColor(InputRange As Range, ColorRange As Range) As Long
Dim cl As Range, TempCount As Long, ColorIndex As Integer
ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
TempCount = 0
For Each cl In InputRange.Cells
If cl.Interior.ColorIndex = ColorIndex Then
TempCount = TempCount + 1
End If
Next cl
Set cl = Nothing
countByColor = TempCount
End Function

trong ô total hrs yêu cầu sẽ như sau :
Nếu là ngày thứ 6 thì sẽ là 7hrs,những ngày còn lại là 9hrs,
nếu lập công thức If thì toàn bộ cái bảng dữ iệu sẽ đầy những con số (ở những ô có màu xanh và màu trắng,bảng dữ liệu chỉ muốn hinể thị màu chứ ko muốn có số liệu đầy trong đó) nên em copy thành 1 bảng phụ và tính ra được số giờ của từng ngày
Sau đó dùng code Sumbycolor :

Function SumByColor(InputRange As Range, ColorRange As Range) As Double
Dim cl As Range, TempSum As Double, ColorIndex As Integer
' Application.Volatile ' this is optional
ColorIndex = ColorRange.Cells(1, 1).Interior.ColorIndex
TempSum = 0
On Error Resume Next ' ignore cells without values
For Each cl In InputRange.Cells
If cl.Interior.ColorIndex = ColorIndex Then
TempSum = TempSum + cl.Value
End If
Next cl
On Error GoTo 0
Set cl = Nothing
SumByColor = TempSum
End Function

để cộng những số liệu trong ô màu xanh
Vấn đề em gặp ở đây là khi lập công thức trong bảng tính này thì khi gửi qua máy khác mổi lần chỉnh sữa (tô màu chẳng hạn) trong bảng dữ liệu thì nó lại báo lổi.
Vấn đề thứ 2 :,làm thế nào để tính trực tiếp số giờ trong nhữn ô màu xanh theo cách tính thứ 6 F thì là 7,những ngày khác từ Monday đến SUnday thì là 9
và mổi lần thay đổi dữ liệu thì lại nhấn Ctrl+Alt+F9 thì nó mới update,có cách nào để khi mình tô màu 1 ô nào đó thì cột kết quả sẽ update luôn.
Đây là bài toán chấm công dựa vào bảng màu.
Nhờ các thành viên chỉ giáo nhé
Thanks
:drinks:
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom