toandiennuoc123
Thành viên thường trực




- Tham gia
- 7/3/12
- Bài viết
- 239
- Được thích
- 9
Xin chào ACE trên diễn đàn . Tôi có 1 vấn đề muốn nhờ ACE giúp đỡ, xem file đính kèm . Xin chân thành cám ơn
=VLOOKUP(B9,Sheet2!$A$5:$B$103,2,0)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [b9]) Is Nothing Then
[c9] = Sheet2.Cells(Target.Value + 4, 2)
End If
End Sub
Bạn làm ơn gán vào file cho tôi, tôi làm nó toàn bị lỗi, xin cám ơnNếu bạn muốn tìm hiểu Code thì bạn thử code đơn giản này cho sheet 1 nhé
Mã:Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, [b9]) Is Nothing Then [c9] = Sheet2.Cells(Target.Value + 4, 2) End If End Sub
Mình đưa giúp CODE vào file đây, bạn kiểm tra giúp mình nhé!Bạn làm ơn gán vào file cho tôi, tôi làm nó toàn bị lỗi, xin cám ơn
Chạy thử code này :Chào bạn nhung12005. Cám ơn công thức của bạn nhé, bạn giúp tôi 1 công thức nữa cũng ở file như vậy nhưng yêu cầu là: ở sheet1 gõ STT vào B9, điền dữ liệu vào C9, nó tự nhẩy vào C9 ở sheet2 đúng vào dòng có STT mà mình gõ ( nếu C9 ở sheet2 có dữ liệu rồi thì nó tự cộng vào).
Sub Timso()
Dim Rng As Range, fAddress As String
Dim Clls As Range, Lcell As Range
If [B9].Value <> "" Then
Set Lcell = Sheet2.[A103]
Set Clls = Sheet1.[B9]
Set Rng = Sheet2.Range("A5:A" & Sheet2.[A65536].End(xlUp).Row).Find(Clls, after:=Lcell, LookIn:=xlValues, LookAt:=xlWhole)
fAddress = Rng.Address
If Not Rng Is Nothing Then
Do
Rng.Offset(, 1).Value = Rng.Offset(, 1).Value + Clls.Offset(, 1).Value
Loop While fAddress <> Rng.Address
End If
End If
End Sub
Nếu dữ liệu đúng dòng, đúng cột, STT liên tục thì thử file 2 trong 1 này thử coi.Chào bạn nhung12005. Cám ơn công thức của bạn nhé, bạn giúp tôi 1 công thức nữa cũng ở file như vậy nhưng yêu cầu là: ở sheet1 gõ STT vào B9, điền dữ liệu vào C9, nó tự nhẩy vào C9 ở sheet2 đúng vào dòng có STT mà mình gõ ( nếu C9 ở sheet2 có dữ liệu rồi thì nó tự cộng vào).
Nếu dữ liệu đúng dòng, đúng cột, STT liên tục thì thử code 2 trong 1 này thử coi.
Nhập STT hiện giá trị. Nhập giá trị thì cộng thêm vào giá trị cũ.
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$B$9" Then
Target.Offset(, 1).Value = Sheet2.Cells(Target.Value + 4, 2).Value
ElseIf Target.Address = "$C$9" Then
Sheet2.Cells(Target.Offset(, -1).Value + 4, 2).Value = Sheet2.Cells(Target.Offset(, -1).Value + 4, 2).Value + Target.Value
End If
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$B$9" Then
[c9].ClearContents
[c9] = Sheets("sheet2").[a:a].Find(Target, , , 2)(1, 2)
End If
End Sub
-----------------------------PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$B$9" Then Target.Offset(, 1).Value = Sheet2.Cells(Target.Value + 4, 2).Value ElseIf Target.Address = "$C$9" Then Sheet2.Cells(Target.Offset(, -1).Value + 4, 2).Value = Sheet2.Cells(Target.Offset(, -1).Value + 4, 2).Value + Target.Value End If Application.EnableEvents = True End Sub
Bạn ơi, phát sinh vấn đề: trong cột STT có cả "text" thì sửa code thế nào vậy? (VD: "dauso96","dauso97","dauso98"....v.v).
Sao không "phát sinh" từ đầu nhỉ?-----------------------------PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address = "$B$9" Then Target.Offset(, 1).Value = Sheet2.Cells(Target.Value + 4, 2).Value ElseIf Target.Address = "$C$9" Then Sheet2.Cells(Target.Offset(, -1).Value + 4, 2).Value = Sheet2.Cells(Target.Offset(, -1).Value + 4, 2).Value + Target.Value End If Application.EnableEvents = True End Sub
Bạn ơi, phát sinh vấn đề: trong cột STT có cả "text" thì sửa code thế nào vậy? (VD: "dauso96","dauso97","dauso98"....v.v).
Thay code cũ bằng cái này thử xem:
PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Dim Rng(), I As Long Rng = Sheet2.Range(Sheet2.[A5], Sheet2.[A65000].End(xlUp)).Resize(, 2).Value If Target.Address = "$B$9" Then For I = 1 To UBound(Rng, 1) If Rng(I, 1) = Target.Value Then Target.Offset(, 1).Value = Rng(I, 2) Next I ElseIf Target.Address = "$C$9" Then For I = 1 To UBound(Rng, 1) If Rng(I, 1) = Target.Offset(, -1).Value Then Sheet2.Cells(I + 4, 2).Value = Sheet2.Cells(I + 4, 2).Value + Target.Value End If Next I End If Application.EnableEvents = True Msgbox "Nho an nut Cam on" End Sub
Bạn ơi, lần này lại......, muốn $B$9 và $C$9 chuyển sang sheet3. (Tức là : có khoảng hơn chục sheet muốn 2 cell"$B$9","$C$9" được chuyển qua sheet khác cho tiện việc thao tác)PHP:Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Dim Rng(), I As Long Rng = Sheet2.Range(Sheet2.[A5], Sheet2.[A65000].End(xlUp)).Resize(, 2).Value If Target.Address = "$B$9" Then For I = 1 To UBound(Rng, 1) If Rng(I, 1) = Target.Value Then Target.Offset(, 1).Value = Rng(I, 2) Next I ElseIf Target.Address = "$C$9" Then For I = 1 To UBound(Rng, 1) If Rng(I, 1) = Target.Offset(, -1).Value Then Sheet2.Cells(I + 4, 2).Value = Sheet2.Cells(I + 4, 2).Value + Target.Value End If Next I End If Application.EnableEvents = True Msgbox "Nho an nut Cam on" End Sub
Theo tôi nghĩ:Bạn ơi, lần này lại......, muốn $B$9 và $C$9 chuyển sang sheet3. (Tức là : có khoảng hơn chục sheet muốn 2 cell"$B$9","$C$9" được chuyển qua sheet khác cho tiện việc thao tác)
1/ GPE là nơi học hỏi để nâng cao kiến thức, do đó trong quá trình "học" bản thân mình cũng phải "hành", người khác giúp bạn hướng giải quyết (có thể bằng hàm hoặc VBA), tự bạn phải tìm tòi, nghiên cứu để hiểu được cách làm đó, để "chế biến" lại cho phù hợp với công việc của mình chứ.
2/ Dù rất nhiệt tình nhưng tôi nghĩ các TV GPE cũng sẽ "bị oải" với kiểu hỏi của bạn, hình như bạn muốn có 1 phần mềm hoàn hảo mà tất cả đều là của người khác còn bạn thì chỉ "hỏi" thôi.
3/ Cuối cùng, những câu hỏi gây khó khăn cho bạn có thể sẽ có các bạn khác hỗ trợ, còn những câu tương tự nhau thì bạn nên tự "thực hành" nhé, như thế mới là học tập.
Tôi không có ý gì khác ngoài góp ý chân tình với bạn.
Mong bạn mau tiến bộ cùng với Giải Pháp Excel của chúng ta.
Thân mến.
Rất xin lỗi vì đã hỏi quá nhiều, cám ơn lời góp ý của bạn, thực ra thì tôi đang "học" và "hỏi", bởi vì là tự học cho nên có nhiều vấn đề khó khăn không tự giải quyết được, cũng đọc nhiều sách, xem trên mạng cũng nhiều vẫn rất mơ hồ(vì không có người hưỡng dẫn) nên tự nghĩ ra các câu hỏi để tự nghiên cứu, cũng nghiền ngẫm mấy tháng trời cũng chưa đâu vào đâu cả, rất mong ACE trên diến đàn những người đi trước chỉ giáo cho những người đi sau(giống như thầy giáo dạy những phương pháp, cách làm cho học sinh)để cùng nhau phát triển và tiến bộ.Theo tôi nghĩ:
1/ GPE là nơi học hỏi để nâng cao kiến thức, do đó trong quá trình "học" bản thân mình cũng phải "hành", người khác giúp bạn hướng giải quyết (có thể bằng hàm hoặc VBA), tự bạn phải tìm tòi, nghiên cứu để hiểu được cách làm đó, để "chế biến" lại cho phù hợp với công việc của mình chứ.
2/ Dù rất nhiệt tình nhưng tôi nghĩ các TV GPE cũng sẽ "bị oải" với kiểu hỏi của bạn, hình như bạn muốn có 1 phần mềm hoàn hảo mà tất cả đều là của người khác còn bạn thì chỉ "hỏi" thôi.
3/ Cuối cùng, những câu hỏi gây khó khăn cho bạn có thể sẽ có các bạn khác hỗ trợ, còn những câu tương tự nhau thì bạn nên tự "thực hành" nhé, như thế mới là học tập.
Tôi không có ý gì khác ngoài góp ý chân tình với bạn.
Mong bạn mau tiến bộ cùng với Giải Pháp Excel của chúng ta.
Thân mến.
Coi chừng bạn hiểu lầm ý tôi à nghe.Rất xin lỗi vì đã hỏi quá nhiều, cám ơn lời góp ý của bạn, thực ra thì tôi đang "học" và "hỏi", bởi vì là tự học cho nên có nhiều vấn đề khó khăn không tự giải quyết được, cũng đọc nhiều sách, xem trên mạng cũng nhiều vẫn rất mơ hồ(vì không có người hưỡng dẫn) nên tự nghĩ ra các câu hỏi để tự nghiên cứu, cũng nghiền ngẫm mấy tháng trời cũng chưa đâu vào đâu cả, rất mong ACE trên diến đàn những người đi trước chỉ giáo cho những người đi sau(giống như thầy giáo dạy những phương pháp, cách làm cho học sinh)để cùng nhau phát triển và tiến bộ.
Tôi không nói đến "hỏi nhiều" mà là những câu hỏi "tương tự". Đã có code cho sheet1, bạn lại nhờ làm code đó cho sheet3,...và cho cả 10 sheet giống như vậy.
Đáng lý bạn phải nghiên cứu và sẽ áp dụng cho bao nhiêu sheet mà bạn muốn chứ, trừ khi bạn đã làm được, rồi muốn gom các code này thành 1, đó là câu hỏi mới, nếu có file đính kèm và yêu cầu mới.
trừ khi bạn đã làm được, rồi muốn gom các code này thành 1, đó là câu hỏi mới, nếu có file đính kèm và yêu cầu mới.
Ý cua tôi là như vậy đấy gom tất cả thành 1 ( tôi làm mãi mà không được) bạn xem file đính kèm nhé, chạy được rồi nhưng muốn nó gọn nhẹ hơn
Hông ngủ được, làm giúp Ba Tê một phátÝ cua tôi là như vậy đấy gom tất cả thành 1 ( tôi làm mãi mà không được) bạn xem file đính kèm nhé, chạy được rồi nhưng muốn nó gọn nhẹ hơn
Đọc để hiểu bài này mệt quá. May ra thì làm trúng, còn trật thì "kiu" Ba Tê sửa, hihi.
Thân