Viết code nhân với số bất kỳ (1 người xem)

Liên hệ QC

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

thanhlong68

Thành viên chính thức
Tham gia
17/11/12
Bài viết
66
Được thích
2
Nhờ mọi người viết giúp em code này trong VD
 
bạn tiết kiệm lời nhỉ, đánh số vào đâu và nhân với cái gì vậy???

(trong file kèm của bạn không thấy chỗ nào NHÂN cả)
Xin lỗi mình gửi lộn file trong VD trước
Mình đã gửi lại nhờ mọi người giúp mình với
 

File đính kèm

Upvote 0
Xin lỗi mình gửi lộn file trong VD trước
Mình đã gửi lại nhờ mọi người giúp mình với

Đúng là lộn , nên chẳng thấy gì ăn nhập cả,
-------
Giờ bạn muốn nhân lạ quá, sao không lập công thức lun
Tôi hiểu đỏ là ô xanh (giá trị nhập) hệ số hiệu chỉnh (dự phòng) vv, làm công thức
VD tại F20 lập CT là
=ROUND(E20*D20*F$19,0)

copy cho F khác cùng nhóm

thế là khi F19 thay đổi thì các số cần tính cũng đổi thay,

-------------
Không phải làm khó như bạn yêu cầu,
mà làm khó thế thì cũng không ăn thua, ví như khi người nhập số đầu tiên là 1.3 -các số tích đã nhân 1.3 nhưng là nhầm, nhập lại 1.2 (số đúng) khi này thì nếu theo y.c bạn thì các số tích kia lại nhân tiếp 1.2 --> SAI ah

???
có thể đây chỉ là 1 ý kiến, bạn tiếp tục trao đổi có khi thành viên khác giúp được thì sao
 
Upvote 0
Đúng là lộn , nên chẳng thấy gì ăn nhập cả,
-------
Giờ bạn muốn nhân lạ quá, sao không lập công thức lun
Tôi hiểu đỏ là ô xanh (giá trị nhập) hệ số hiệu chỉnh (dự phòng) vv, làm công thức
VD tại F20 lập CT là
=ROUND(E20*D20*F$19,0)

copy cho F khác cùng nhóm

thế là khi F19 thay đổi thì các số cần tính cũng đổi thay,

-------------
Không phải làm khó như bạn yêu cầu,
mà làm khó thế thì cũng không ăn thua, ví như khi người nhập số đầu tiên là 1.3 -các số tích đã nhân 1.3 nhưng là nhầm, nhập lại 1.2 (số đúng) khi này thì nếu theo y.c bạn thì các số tích kia lại nhân tiếp 1.2 --> SAI ah

???
có thể đây chỉ là 1 ý kiến, bạn tiếp tục trao đổi có khi thành viên khác giúp được thì sao
Ý mình muốn dùng code để nhân tự động sẽ nhanh hơn, các số đó rất nhiều sau mình sẽ dùng hàm để điền vào các ô màu xanh đó
 
Upvote 0
Đơn giải là vậy thôi, mình đã sửa lại VD giúp mọi người dễ hiểu hơn
 

File đính kèm

Upvote 0
Đơn giải là vậy thôi, mình đã sửa lại VD giúp mọi người dễ hiểu hơn
Bạn không có ý kiến gì với bài #6 bên trên sao?
Lỡ bạn định nhập số 3 nhưng gõ nhầm số 5 thì nó nhân lên cho 5, làm sao để lấy lại số ban đầu cho bạn nhập lại số khác?
Tôi đề nghị nhập liệu vào 1 cột phụ kế bên, nhập số nào thì nó nhân với số đó vào đúng cột bạn muốn, nhập số khác sẽ nhân lại cho số khác, khi in ấn ra bảng biểu thì bạn ẩn cột này đi là xong, số liệu ban đầu trong cột phụ này không thay đổi.
 

File đính kèm

Upvote 0
Bạn không có ý kiến gì với bài #6 bên trên sao?
Lỡ bạn định nhập số 3 nhưng gõ nhầm số 5 thì nó nhân lên cho 5, làm sao để lấy lại số ban đầu cho bạn nhập lại số khác?
Tôi đề nghị nhập liệu vào 1 cột phụ kế bên, nhập số nào thì nó nhân với số đó vào đúng cột bạn muốn, nhập số khác sẽ nhân lại cho số khác, khi in ấn ra bảng biểu thì bạn ẩn cột này đi là xong, số liệu ban đầu trong cột phụ này không thay đổi.
Em thử trong file thầy gửi không thấy chạy, nên em nghĩ có thầy chưa hiểu ý em. Em gửi lại bài mong thầy xem giùm em với
 

File đính kèm

Upvote 0
Em thử trong file thầy gửi không thấy chạy, nên em nghĩ có thầy chưa hiểu ý em. Em gửi lại bài mong thầy xem giùm em với
1/ Bạn chưa hiểu vấn đề ngừoi viết code hỏi bạn: bạn gõ vào đó số 3, nhưng sau đó bạn biết là mình gõ lầm thì sao?
2/ Không chạy thì bạn phải hỏi làm sao cho code chạy, chứ không phải không chạy là "chưa hiểu ý". Nhất là file của bạn không phải là file tôi làm gởi trong bài #10.(Có lẽ bạn không biết làm thế nào để Enable Macros)
3/ Khi bạn nói rõ 2 ý trên thì sẽ có bài giải cho bạn, nhưng điều 1/ là quan trọng đó, bạn suy nghĩ kỹ lại đi, hình như bạn chưa hình dung ra chuyện này.
4/ Tạm biệt, mong bạn suy nghĩ thật kỹ trước khi phát biểu tiếp.
 
Lần chỉnh sửa cuối:
Upvote 0
1/ Bạn chưa hiểu vấn đề ngừoi viết code hỏi bạn: bạn gõ vào đó số 3, nhưng sau đó bạn biết là mình gõ lầm thì sao?
2/ Không chạy thì bạn phải hỏi làm sao cho code chạy, chứ không phải không chạy là "chưa hiểu ý". Nhất là file của bạn không phải là file tôi làm gởi trong bài #10.(Có lẽ bạn không biết làm thế nào để Enable Macros)
3/ Khi bạn nói rõ 2 ý trên thì sẽ có bài giải cho bạn, nhưng điều 1/ là quan trọng đó, bạn suy nghĩ kỹ lại đi, hình như bạn chưa hình dung ra chuyện này.
4/ Tạm biệt, mong bạn suy nghĩ thật kỹ trước khi phát biểu tiếp.
Em đã làm lại rồi lý do không chạy là em nhập sai cột, như thế là ok rồi, nhưng em ghép chung với code này thì nó lại không chạy được thầy bớt chút thời gian xem giùm em nhé
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)Application.EnableEvents = False
Dim Cll As Range, sArr(), dArr(), i As Long, J As Long, k As Long, Dic As Object, Tem As String, R As Long
Set Dic = CreateObject("Scripting.Dictionary")
On Error Resume Next
R = Target.Row
If Target.Column = 1 And R > 1 Then
    For Each Cll In Target
        Tem = UCase(Cll)
        If Not Dic.Exists(Tem) Then
            Dic.Add Tem, ""
        End If
    Next
    With Sheets("Tong_hop")
        sArr = .Range(.[A2], .[A65000].End(xlUp)).Resize(, 7).Value
    End With
    ReDim dArr(1 To UBound(sArr, 1), 1 To 7)
    For i = 1 To UBound(sArr, 1)
        Tem = UCase(sArr(i, 1))
        If Dic.Exists(Tem) Then
            k = k + 1
            For J = 1 To 7
                dArr(k, J) = sArr(i, J)
            Next J
        End If
    Next i
    If k Then Cells(R, 1).Resize(k, 7).Value = dArr
For Each Cll In Cells(R, 1).Resize(k)
        If Cll.Value <> Cll.Offset(-1) Then
            Cll.Resize(, 7).Font.Bold = True
            Cll.Resize(, 7).Font.ColorIndex = 3
        End If
Next
End If
Set Dic = Nothing
Application.EnableEvents = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Em đã làm lại rồi lý do không chạy là em nhập sai cột, như thế là ok rồi, nhưng em ghép chung với code này thì nó lại không chạy được thầy bớt chút thời gian xem giùm em nhé
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)Application.EnableEvents = False
Dim Cll As Range, sArr(), dArr(), i As Long, J As Long, k As Long, Dic As Object, Tem As String, R As Long
Set Dic = CreateObject("Scripting.Dictionary")
On Error Resume Next
R = Target.Row
If Target.Column = 1 And R > 1 Then
    For Each Cll In Target
        Tem = UCase(Cll)
        If Not Dic.Exists(Tem) Then
            Dic.Add Tem, ""
        End If
    Next
    With Sheets("Tong_hop")
        sArr = .Range(.[A2], .[A65000].End(xlUp)).Resize(, 7).Value
    End With
    ReDim dArr(1 To UBound(sArr, 1), 1 To 7)
    For i = 1 To UBound(sArr, 1)
        Tem = UCase(sArr(i, 1))
        If Dic.Exists(Tem) Then
            k = k + 1
            For J = 1 To 7
                dArr(k, J) = sArr(i, J)
            Next J
        End If
    Next i
    If k Then Cells(R, 1).Resize(k, 7).Value = dArr
For Each Cll In Cells(R, 1).Resize(k)
        If Cll.Value <> Cll.Offset(-1) Then
            Cll.Resize(, 7).Font.Bold = True
            Cll.Resize(, 7).Font.ColorIndex = 3
        End If
Next
End If
Set Dic = Nothing
Application.EnableEvents = True
End Sub
Tui sắp "đứt bóng" với bạn rồi đó.
Mỗi code sử dụng cho 1 file, có cấu trúc dữ liệu riêng của file đó, bạn nói ghép chung là sao, đâu phải code của file này ghép với code của file khác cũng chạy được.
Mà bạn muốn LÀM CHO FILE NÀO? Code của bài #13 đâu phải của file "nhân cho 1 số" gì đó trong topic này.
 
Upvote 0
Tui sắp "đứt bóng" với bạn rồi đó.

Điều quan trọng là làm rõ câu hỏi:
1/ Bạn chưa hiểu vấn đề ngừoi viết code hỏi bạn: bạn gõ vào đó số 3, nhưng sau đó bạn biết là mình gõ lầm thì sao?
Lại chẳng thấy nói gì ---> Cứ như là phớt lờ
Em thì... cóc thèm trả lời mấy bài dạng này
Ẹc... Ẹc...
 
Upvote 0
Tui sắp "đứt bóng" với bạn rồi đó.
Mỗi code sử dụng cho 1 file, có cấu trúc dữ liệu riêng của file đó, bạn nói ghép chung là sao, đâu phải code của file này ghép với code của file khác cũng chạy được.
Mà bạn muốn LÀM CHO FILE NÀO? Code của bài #13 đâu phải của file "nhân cho 1 số" gì đó trong topic này.
Thôi được rồi bước sau em làm thủ công cũng được rồi. Dù sao em cũng cám ơn thầy
 
Upvote 0
Em đã nối 2 đoạn code và chạy được rồi nhưng trong phần em tô màu vàng dưới đây nếu có dữ liệu thì code sẽ không chạy được. Nhờ thầy ba tê hoặc ai biết thì sửa giúp em
 

File đính kèm

Upvote 0
Em đã nối 2 đoạn code và chạy được rồi nhưng trong phần em tô màu vàng dưới đây nếu có dữ liệu thì code sẽ không chạy được. Nhờ thầy ba tê hoặc ai biết thì sửa giúp em
Đọc code sơ sơ qua thì hình như chỗ màu vàng vàng mà có dữ liệu thì code hổng thèm chạy là vì cột í là một trong các điều kiện để code chạy_ điều kiện là một số cell trong cột đó phải "hổng có cái quái gì ở trong í"
Túm lại, bài kiểu này bạn phải đưa bảng có dữ liệu thật hay giả cũng được nhưng cấu trúc bảng .........phải là thật để xác định điều kiện chạy code, híc
Thân
 
Upvote 0

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

Back
Top Bottom