Cần giúp gấp về vấn đề tự động nhận giá trị

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

akon

Thành viên mới
Tham gia
3/11/08
Bài viết
1
Được thích
0
khá lâu rồi mình không dùng đến excel lên giờ lúng túng không biết làm thế nào, mong mọi người giúp (định up file xls lên nhưng up lên cứ bị fail) anh nào hiểu cau hỏi của mình thì có thể làm vd như câu hỏi rồi up vào file giúp mình đc kô.

1. Mình có 3 cái bảng như sau:
B1
STT------Tên------Giá $
1-----Sản phẩm b---?
2-----Thiết bị 3-----?
3
4


B2
Tên sản phẩm----Giá $
Sản phẩm a------22.5
Sản phẩm b------42
Sản phẩm c------312
Sản phẩm d------5.5
Sản phẩm e ------99
Sản phẩm f------ 7

B3
Tên thiết bị --Giá $
Thiết bị 1----11
Thiết bị 2----54.6
Thiết bị 3---145
Thiết bị 4---322.5
Thiết bị 5---88
Thiết bị 6---1640


Ở Bảng 1 các ô Tên đó mình dùng Data => Validation chọn List để tạo danh sách xổ xuống từ các bảng bên dưới, khi cần lựa chọn các thiết bị hay sản phẩm nào, mình chỉ cần bấm chọn ở trong list đó.
Mình muốn khi mình chọn 1 thứ ở Bảng 1 thì ở ô Giá $ ở bảng 1 sẽ tự động nhận số tiền tương ứng đã ghi ở B2 và B3.....
Vậy thì ở đó mình phải làm như thế nào?

2. Nếu các bảng 2 hoặc bẳng 3 của mình nằm ở sheet khác thì mình phải tạo list như đã nói ở trên như thế nào? mình khi dùng Validation mình chọn sang sheet khác rồi ok thì nó báo là không dùng được, vậy phải làm sao.

3. Cũng vẫn mấy cái bảng trên
nhưng danh sách trong bảng 2, bang 3 sẽ không có cột giá mà giá sẽ viết liền như thế này:

ví dụ:
Thiết bị 1 11$
Thiết bị 2 54.6$
Thiết bị 3 145$
Thiết bị 4 322.5$
Thiết bị 5 1640$

hay
Sản phẩm a 22.5$
Sản phẩm b 4$
Sản phẩm c 312$

Khi mình tạo list ở bảng 1 rồi, cả tên thiết bị và giá đều hiện ở cột Tên đó.
Làm thế nào để cắt số tiền đó tương ứng tự hiện sang cột giá ở bảng 1.
ví dụ:
Khi chọn trong list là Sản phẩm a 22.5$ thì bên cột giá nó sẽ cắt và hiện là 22.5
Ở đây là làm sao cho nó cắt số từ bên phải sang, nó sẽ cắt từ sau dấu $ cho tới dấu cách trống đầu tiên, và hiển thị sang cột giá, điều này có làm được không.

Cảm ơn mọi người.
 
Đây cũng là một cách, còn thô sơ để giải câu đầu.

PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Columns(2), Target) Is Nothing Then
   Dim Rng As Range
   With Sheets("S2")
      If [d1] = 1 Then
         Set Rng = .Range(.[b2], .[b2].End(xlDown))
      Else
         Set Rng = .Range(.[e2], .[e2].End(xlDown))
      End If
   End With
   Target.Offset(, 1) = Rng.Find(what:=Target, LookIn:=xlValues, _
            lookat:=xlWhole).Offset(, 1)
 End If
End Sub

Và 1 macro phụ trợ:

Mã:
[B]Sub TaoTen()[/B]
 With Sheets("S2")
   If [d1] = 1 Then
      .Range(.[b2], .[b2].End(xlDown)).Copy Destination:=[f1]
   Else
      .Range(.[e2], .[e2].End(xlDown)).Copy Destination:=[f1]
   End If
 End With
[B]End Sub[/B]
 

File đính kèm

khá lâu rồi mình không dùng đến excel lên giờ lúng túng không biết làm thế nào, mong mọi người giúp (định up file xls lên nhưng up lên cứ bị fail) anh nào hiểu cau hỏi của mình thì có thể làm vd như câu hỏi rồi up vào file giúp mình đc kô.

1. Mình có 3 cái bảng như sau:
B1
STT------Tên------Giá $
1-----Sản phẩm b---?
2-----Thiết bị 3-----?
3
4


B2
Tên sản phẩm----Giá $
Sản phẩm a------22.5
Sản phẩm b------42
Sản phẩm c------312
Sản phẩm d------5.5
Sản phẩm e ------99
Sản phẩm f------ 7

B3
Tên thiết bị --Giá $
Thiết bị 1----11
Thiết bị 2----54.6
Thiết bị 3---145
Thiết bị 4---322.5
Thiết bị 5---88
Thiết bị 6---1640


Ở Bảng 1 các ô Tên đó mình dùng Data => Validation chọn List để tạo danh sách xổ xuống từ các bảng bên dưới, khi cần lựa chọn các thiết bị hay sản phẩm nào, mình chỉ cần bấm chọn ở trong list đó.
Mình muốn khi mình chọn 1 thứ ở Bảng 1 thì ở ô Giá $ ở bảng 1 sẽ tự động nhận số tiền tương ứng đã ghi ở B2 và B3.....
Vậy thì ở đó mình phải làm như thế nào?

2. Nếu các bảng 2 hoặc bẳng 3 của mình nằm ở sheet khác thì mình phải tạo list như đã nói ở trên như thế nào? mình khi dùng Validation mình chọn sang sheet khác rồi ok thì nó báo là không dùng được, vậy phải làm sao.

3. Cũng vẫn mấy cái bảng trên
nhưng danh sách trong bảng 2, bang 3 sẽ không có cột giá mà giá sẽ viết liền như thế này:

ví dụ:
Thiết bị 1 11$
Thiết bị 2 54.6$
Thiết bị 3 145$
Thiết bị 4 322.5$
Thiết bị 5 1640$

hay
Sản phẩm a 22.5$
Sản phẩm b 4$
Sản phẩm c 312$

Khi mình tạo list ở bảng 1 rồi, cả tên thiết bị và giá đều hiện ở cột Tên đó.
Làm thế nào để cắt số tiền đó tương ứng tự hiện sang cột giá ở bảng 1.
ví dụ:
Khi chọn trong list là Sản phẩm a 22.5$ thì bên cột giá nó sẽ cắt và hiện là 22.5
Ở đây là làm sao cho nó cắt số từ bên phải sang, nó sẽ cắt từ sau dấu $ cho tới dấu cách trống đầu tiên, và hiển thị sang cột giá, điều này có làm được không.

Cảm ơn mọi người.
Câu 2 , bạn đặt cho nó 1 cái name là được thôi
Câu 3 làm được , bạn chờ sẽ có cao thủ giúp
Thân
 
Web KT

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

Back
Top Bottom