Hỏi về UserForm trong VBA

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

boy0110

Thành viên mới
Tham gia
7/6/12
Bài viết
14
Được thích
4
Mình mới biết sài Excel, có câu hỏi này mình không biết. Mình tạo ra 1 UserForm dưới dòng Textbox minh muốn điền số bất gì rùi bấm " OK" thì giá trị đó sẽ được lưu vào ô "A1". bạn nào có thể cho mình biết về code được không. mình tìm hoài mà không thấy. thanks các bạn!
 
Mình mới biết sài Excel, có câu hỏi này mình không biết. Mình tạo ra 1 UserForm dưới dòng Textbox minh muốn điền số bất gì rùi bấm " OK" thì giá trị đó sẽ được lưu vào ô "A1". bạn nào có thể cho mình biết về code được không. mình tìm hoài mà không thấy. thanks các bạn!

Code trong nút OK có thể là vầy

[A1].value= Me.Textbox1.Value
 
Ok thanks bạn nha! Rất tuyệt vời. làm mình kiếm cả buổi chiều :)

Đối với bạn thì tuyệt vời, nhưng với tôi thì chưa cảm thấy được chứ đừng nói là tuyệt vời.

Lý do: Ngoại trừ bạn làm việc trên module của sheet thì sao cũng được, nhưng làm việc trên UserForm hay bất cứ đối tượng nào khác hay ở một module nào đó thì bạn phải luôn luôn nhớ một điều rằng: Mọi tham chiếu đến một Range (một ô hay một khối ô) của một sheet nào đó thì luôn luôn phải có tên sheet đi kèm. Ngoại trừ sheet đó đang hiện hành (Active), nếu không sẽ gây hậu quả nghiêm trọng cho dữ liệu của sheet khác nếu sheet đó hiện hành.

Nói về tên sheet, thì nó có 2 cái tên, một cái tên mà ta thấy được tại Sheet Tab gọi là 'Name' và một tên chỉ thấy được trong môi trường VBE, ta gọi là 'CodeName'.

Với sheet trong hình, Sheet1 là tên trên sheet tab và HoangTrongNghia là tên trong môi trường VBE.

Nếu ta tham chiếu đến một Range bằng Name thì cách ghi như sau:

Sheets("Sheet1").Range("A1").Value = TextBox1

Và nếu ta tham chiếu bằng CodeName thì ta ghi như sau:

HoangTrongNghia.[A1].Value = TextBox1

Với Range("xxx") hoặc [xxx] là như nhau bạn nhé!

Nhưng nếu bạn muốn nhập giá trị từ TextBox1 vào ô A1 là dạng số (numeric) thì bạn phải thêm hàm Val() vào cấu trúc, như sau:

HoangTrongNghia.[A1].Value = Val(TextBox1)

Các bạn mới bắt đầu học VBA phải luôn luôn nhớ bài học căn bản này!
 

File đính kèm

  • Picture3.jpg
    Picture3.jpg
    184.9 KB · Đọc: 150
Web KT

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

Back
Top Bottom