Hàm offset cho nút spin

Liên hệ QC

le tin

Học mãi
Tham gia
22/10/07
Bài viết
722
Được thích
560
Tôi muốn ghi code dùng hàm offset cho nút spin mà không được , ô D1 đang có giá trị bất kỳ trong cột H .
Yêu cầu khi bấm lên thì di chuyển lên 1 ô và ngược lại , đến hết dữ liệu thì dừng
Mời các bạn mở file và giúp code , cảm ơn
 

File đính kèm

  • Nut.xls
    17.5 KB · Đọc: 25
Tôi muốn ghi code dùng hàm offset cho nút spin mà không được , ô D1 đang có giá trị bất kỳ trong cột H .
Yêu cầu khi bấm lên thì di chuyển lên 1 ô và ngược lại , đến hết dữ liệu thì dừng
Mời các bạn mở file và giúp code , cảm ơn

Không hiểu là bạn ghi code lại để làm gì. Bài này làm bằng công thức cũng thật đơn giản :

Tạo 1 cái Spin(form) cho giá trị từ 1 -> 30.000, và link giá trị đến ô A2
Tạo ô D1 bạn gõ công thức sau :

=OFFSET($H$1,MIN(COUNTA(H:H),A2)-1,,1)

Khi đó bạn bấm nút Spin để xem kết quả
 

File đính kèm

  • Nut(1).xls
    28 KB · Đọc: 35
Upvote 0
Không hiểu là bạn ghi code lại để làm gì. Bài này làm bằng công thức cũng thật đơn giản :

Tạo 1 cái Spin(form) cho giá trị từ 1 -> 30.000, và link giá trị đến ô A2
Tạo ô D1 bạn gõ công thức sau :

=OFFSET($H$1,MIN(COUNTA(H:H),A2)-1,,1)

Khi đó bạn bấm nút Spin để xem kết quả
Trong ô max (30000 ) có thể thay đổi ( ví dụ như công thức động ) được không bạn
 
Upvote 0
Trong ô max (30000 ) có thể thay đổi ( ví dụ như công thức động ) được không bạn
Không thể được... cái này bạn phải tự gõ vào thôi... Còn không thì tôi nghĩ phải chuyển sang dùng loại Spin trên thanh Control Toolbox (lúc đó phải viết code)
 
Upvote 0
có phải ý bạn muốn thế này không?
Xem lại, chẳng thấy nó "cập nhật" gì cả...
Mà nè, nếu Boyxin muốn viết code để cập nhật thì nên dùng cái Spin của Control Toolbox cho nó tùy biến cao hơn... Ai lại dùng cái "cổ lổ" vậy?
 
Upvote 0
Xem lại, chẳng thấy nó "cập nhật" gì cả...
Mà nè, nếu Boyxin muốn viết code để cập nhật thì nên dùng cái Spin của Control Toolbox cho nó tùy biến cao hơn... Ai lại dùng cái "cổ lổ" vậy?

Hi
Làm biếng
Hiện tại Max Spinner lấy giá trị là row cuối cùng có dữ liệu ở cột A mà

Thay đổi ... Sang sheet # rồi quay lại là nó cập nhật max spinner rồi
 
Upvote 0
Hi
Làm biếng
Hiện tại Max Spinner lấy giã trị là row cuối cùng có dữ liệu ở cột A mà
Ý tôi muốn nói là dùng sự kiện Worksheet_Activate quá mất công ??? Mổi lần muốn cập nhật ta lại phải nhảy qua 1 sheet rồi quay lại sheet đầu... Hơi buồn cười...
Ẹc... Ẹc...
Vậy sao không dùng sự kiện Change nhỉ? Chẳng hạn:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 1 Then Spinner: [A1].Select
End Sub
Còn đoạn code chính thì chỉ cần vầy là đủ:
PHP:
Sub Spinner()
Dim n As Long
n = Range("A6500").End(xlUp).Row
ActiveSheet.Shapes("Spinner 1").Select
    With Selection
        .Max = n
    End With
End Sub
những thông số khác ta tự Set bằng tay 1 lần duy nhất trong Spin (khỏi cho vào code)
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom