- Tham gia
- 17/8/08
- Bài viết
- 8,590
- Được thích
- 16,653
- Giới tính
- Nam
Bài của bạn đây! Đơn giản hơn file kia rất là nhiều.Anh Hoàng Trọng Nghĩa có thể giúp đỡ em được không ạ.
Cám ơn Anh rất nhiều
Bài của bạn đây! Đơn giản hơn file kia rất là nhiều.Anh Hoàng Trọng Nghĩa có thể giúp đỡ em được không ạ.
Cám ơn Anh rất nhiều
Không hiểu máy tôi có vấn đề gì không, mà khi đặt con trỏ vào TextBox, bấm nút TAB 2 lần thì nó bị như thế này (xem hình). Các bạn thử test xem sao.
Ồ! của em cũng bị như của anh Nghĩa, nhấn Tab 2 lần thì báo lỗi như trên.
doveandrose <== thêm 1 nạn nhân nữa đã bị "Excel has stop working" , chờ thày hpkhuong ra tay nữa vậy .
Vậy thôi, nếu ta không tìm ra được nguyên nhân cũng như cách khắc phục thì ta đừng có dùng ListBox trong Sheet nữa, xài ComboBox được rồi. Cái nào khó quá bỏ qua.Hic...hic...mấy huynh chém kinh thế... Hix hông biết tại sao tôi cũng lỗi tương tự...Chắc do nó xung đột gì với hệ thống nên đâm ra "Microsoft Excel has stopped working" đây mà...: Ai biết sữa lỗi thì mách nước giúp đi...
..................
Chắc không chỉ riêng em mà rất nhiều bạn đều mong muốn có thể nhập liệu nhanh tại ô mà tại ô đó có thể truy xuất nhanh đến vùng dữ liệu nguồn. Rất mong sẽ nhận được hướng dẫn cùa anh, để em và mọi người có thể ứng dụng vào công việc của mình
Trân trọng!
a ơi a sửa giúp e cái file này của e được k ạ?Đọc bài này cũng lâu rồi, hôm nay hơi rảnh làm thử cho bạn 1 File nhập liệu nhanh xem có dùng được không?
a ơi a sửa giúp e cái file này của e được k ạ?
Gửi Các Anh Em
nhờ mọi người giúp đỡ mình làm cái file tổng hợp theo dõi hóa đơn
mình không phải dân kế toán chuyên nghiệp. hiện tại bên mình đang làm phiếu xuất kho theo kiểu mỗi khách hàng một phiếu xuất kho sau đó tự tổng hợp bằng tay vào bảng tổng hợp. nên rất mất thời gian và dễ sai sot . mình có xem qua file hóa đơn của anh be09 mình rất thích. nhưng áp dụng sang bên mình thì lại không được. và cũng không hiểu vì sao làm được như vậy dù đã mày mò mấy hôm nay.
về cơ bản yêu cầu của mình tương tự như file anh gửi là:
tạo một file phiếu xuất
Có thể chọn hàng hóa , sau đó tự điện giá
lưu fiel phiếu xuất vào file theo dõi phiếu xuất ( tuy nhiên ở đây mình yêu cầu hơi khó hơn đó là khi lưu file phiếu xuất thì các mặt hàng sẽ được thể hiện riêng rẽ như trong file đính kèm để mình dễ theo dõi, phần tiền phải thu sẽ giống như phần tiền phải thu trong phiếu xuất )
vậy rất kính mong ai đó có thể giúp mình ( thực sự cái này trăn trở rất lâu mà không tìm ra giải pháp ) mình cũng sẽ xin cảm ơn và hậu tạ
mình đang rất cần nên bạn nào giúp được xin giúp sớm cho mình
Trước hết các ơn anh về file rất hay này.- Bước 1: Nhấn nút chọn hàng hóa, Form hiện ra chọn loại và nhấn nút lọc, tiếp theo chọn hàng hóa muốn nhập hóa đơn xong nhấn nút Nhập giá.
- Bước 2: In hóa đơn xong nhấn nút Lưu hóa đơn.
Trước hết các ơn anh về file rất hay này.
Anh cho e hỏi cách tạo cái nút: chọn hàng hóa, lưu hóa đơn, xóa hóa đơn kia.
Thank.
Chào anh!- Bước 1: Nhấn nút chọn hàng hóa, Form hiện ra chọn loại và nhấn nút lọc, tiếp theo chọn hàng hóa muốn nhập hóa đơn xong nhấn nút Nhập giá.
- Bước 2: In hóa đơn xong nhấn nút Lưu hóa đơn.
Chào anh!
Em muốn nhờ anh chút:
Em đang lập file quản lý hàng hóa.
Trong file của em, Mỗi mã hàng đều có giá cả số lượng, và nằm ngẫu nhiên ở các kho hàng khác nhau.(Có nhiều kho hàng, trong file e thì B1, B2... là các kho hàng).
Hằng ngày e bán hàng đều phải xuất phieus ở sheet "Hoa don".
Nhu cầu của e như thế này:
1. Có sheet để quản lý được lượng hàng bán ra.
2. Hàng xuất ra ở kho nào thì ở sheet kho đấy phải trừ luôn số lượng hàng hóa.
3. Muốn chuyển hàng từ kho này sang kho kia ( tự động cộng vs trừ ở các kho cho nhau).
4. Hàng nhập về các kho.
5. Quản lý được lượng hàng tồn ở trong các kho.
6. Em muốn tìm kiếm một mã hàng, biết được mã hàng này nằm ở những kho nào? Giá cả và số lượng bao nhiêu?
Bác sửa file giúp em nhé.
Thật cảm ơn bác rất nhiều.
Cho Minh hỏi thêm với. Nếu cột mã hàng và cột tên hàng mình muốn nhập không có trong danh mục thì làm sao vậy (vì mình nhập nó sẽ trả về ô trống)Bác lại làm khó em hoài, thôi thử đại có gì bác góp ý nghe. Chổ màu đỏ là em mới thêm vào.
Mã:Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) On Error Resume Next [COLOR=#ff0000] If KeyCode = 39 Then[/COLOR] [COLOR=#ff0000] ActiveCell.Offset(, 1).Activate[/COLOR] [COLOR=#ff0000] Exit Sub[/COLOR] [COLOR=#ff0000] ElseIf KeyCode = 37 Then[/COLOR] [COLOR=#ff0000] ActiveCell.Offset(, -1).Activate[/COLOR] [COLOR=#ff0000] Exit Sub[/COLOR] [COLOR=#ff0000] End If[/COLOR] Select Case KeyCode Case 9, 16, 17, 37 To 40 Case 13 ActiveCell.Offset(1).Activate Case Else Dim strValue As String strValue = LCase(ComboBox1.Text) ComboBox1.ListRows = 20 If Trim(strValue) > "" Then If IsArray(priArray) Then Dim ArrFilter, GetRow() Dim c As Long, i As Long, n As Long, r As Long For r = 1 To UBound(priArray, 1) If LCase(priArray(r, 1)) Like "*" & strValue & "*" Then n = n + 1 ReDim Preserve GetRow(1 To n) GetRow(n) = r End If Next If n Then Dim u As Byte u = UBound(priArray, 2) ReDim ArrFilter(1 To n, 1 To u) For r = 1 To n For c = 1 To u ArrFilter(r, c) = priArray(GetRow(r), c) Next Next ComboBox1.List = ArrFilter Else ComboBox1.Clear ComboBox1.ListRows = 0 End If ComboBox1.DropDown End If Else If ComboBox1.ListCount <> UBound(priArray) Then ComboBox1.List = priArray ComboBox1.DropDown End If End If End Select End Sub
Ở sheet 2 của file đính kèm khi em kích vào nút drop down list để chọn mã hàng mình cần, có cách nào khi mình kích vào nút xoả xuống nó sẽ hiện hộp thoại để mình gõ vào đó mặt hàng cần tìm cho nhanh hoặc mình chỉ cần gõ P01A- nó sẽ hiện ra những mặt hàng có chữ bắt đầu bằng P01A như trong nút search của filter không? Mọi người giúp em với, em cảm ơn nhiều.
File của anh hpkhuong gần cả năm rồi, không biết có ai ghé qua giải quyết dùm !Hic...hic...mấy huynh chém kinh thế... Hix hông biết tại sao tôi cũng lỗi tương tự...Chắc do nó xung đột gì với hệ thống nên đâm ra "Microsoft Excel has stopped working" đây mà...: Ai biết sữa lỗi thì mách nước giúp đi...
Với sheet2 tại cột B và C, bạn thử chọn 1 ô tại 2 cột đó, từ hàng 3 trở đi sẽ thấy nó.
Gõ từ khóa chúng sẽ hiện ra tương ứng, không nhất thiết phải gõ từ đầu câu, chỉ cần gõ bất kỳ cụm từ nào trong đó và không phân biệt chữ thường hoặc chữ hoa.
Ví dụ: Chuỗi là Hoang Trong Nghia, bạn chỉ cần gõ trong (Trong, TRONG, ...), hoặc gõ oang (OANG, oAng, ...) thì những mục có chứa các từ đó sẽ hiển thị để bạn chọn.
Đây là toàn bộ code của bài này (code trong Module của Sheet2):
Mã:Private priArray Private priColumn As Long Private priIsFocus As Boolean Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Count = 1 And Target.Row > 2 Then Dim e As Long Static ArrCode, ArrName If Target.Column = 2 Then If Not IsArray(ArrCode) Then e = Sheet1.Range("B" & Rows.Count).End(xlUp).Row ArrCode = Sheet1.Range("B2:C" & e).Value2 End If priColumn = 1 priArray = ArrCode Call HienComboBox ElseIf Target.Column = 3 Then If Not IsArray(ArrName) Then Dim ArrTmp Dim r As Long, u As Long e = Sheet1.Range("B" & Rows.Count).End(xlUp).Row ArrTmp = Sheet1.Range("B2:B" & e).Value2 ArrName = Sheet1.Range("C2:C" & e).Value2 u = UBound(ArrName) ReDim Preserve ArrName(1 To u, 1 To 2) For r = 1 To u ArrName(r, 2) = ArrTmp(r, 1) Next End If priColumn = -1 priArray = ArrName Call HienComboBox Else Call AnComboBox End If Else Call AnComboBox End If End Sub Private Sub ComboBox1_Change() If priIsFocus Then Exit Sub If ComboBox1.MatchFound Then ActiveCell.Value = ComboBox1.Text ActiveCell.Offset(, priColumn).Value = ComboBox1.Column(1) Else ActiveCell.Value = "" ActiveCell.Offset(, priColumn).Value = "" End If End Sub Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) On Error Resume Next Select Case KeyCode Case 9, 16, 17, 37 To 40 Case 13 ActiveCell.Offset(1).Activate Case Else Dim strValue As String strValue = LCase(ComboBox1.Text) ComboBox1.ListRows = 20 If Trim(strValue) > "" Then If IsArray(priArray) Then Dim ArrFilter, GetRow() Dim c As Long, i As Long, n As Long, r As Long For r = 1 To UBound(priArray, 1) If LCase(priArray(r, 1)) Like "*" & strValue & "*" Then n = n + 1 ReDim Preserve GetRow(1 To n) GetRow(n) = r End If Next If n Then Dim u As Byte u = UBound(priArray, 2) ReDim ArrFilter(1 To n, 1 To u) For r = 1 To n For c = 1 To u ArrFilter(r, c) = priArray(GetRow(r), c) Next Next ComboBox1.List = ArrFilter Else ComboBox1.Clear ComboBox1.ListRows = 0 End If ComboBox1.DropDown End If Else If ComboBox1.ListCount <> UBound(priArray) Then ComboBox1.List = priArray ComboBox1.DropDown End If End If End Select End Sub Private Sub HienComboBox() priIsFocus = True With ComboBox1 .Visible = False .Visible = True .Left = ActiveCell.Left .Top = ActiveCell.Top .Width = ActiveCell.Width .ListWidth = .Width + ActiveCell.Offset(, priColumn).Width .ColumnWidths = .Width - 4 .Height = ActiveCell.Height .List = priArray .Text = "" .Text = ActiveCell.Value .Activate .SelStart = 0 .SelLength = Len(.Text) End With priIsFocus = False End Sub Private Sub AnComboBox() With ComboBox1 If .Visible Then .Visible = False End If End With End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range, PicName As String
Application.ScreenUpdating = False
On Error Resume Next
If Not Intersect([B6], Target) Is Nothing Then
Set Rng = Sheet21.Range(Sheet21.[B6], Sheet21.[Z65536].End(xlUp))
PicName = Rng.Resize(, 1).Find(Target, LookAt:=xlWhole).Offset(, 24)
ActiveSheet.Shapes("Pic").Delete
With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & PicName)
.Name = "Pic"
.Left = [z6:z6].Left: .Top = [z6:z6].Top
.Width = [z6:z6].Width: .Height = [z6:z6].Height
End With
End If
End Sub
Mình thấy rất hay. Làm ơn chỉ mình cách thực hiện để mình ứng dụng với file của mình vớiBài của bạn đây! Đơn giản hơn file kia rất là nhiều.
dạ cho em hỏi anh chút ạ, nếu em muốn hiển thị cả cột Tên Sản Phẩm, Quy Cách, Đơn Giá thì nên sửa code thế nào ạBài của bạn đây! Đơn giản hơn file kia rất là nhiều.
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2