Chọn cell trong textbox để đưa vào code! mục đích là làm nhiều tham số trong sheet.

Liên hệ QC

thesaintzero

Thành viên hoạt động
Tham gia
16/3/09
Bài viết
158
Được thích
8
Ví dụ : là mình có 1 khung cần chèn từ A1 - D18 ( khoảng này không cố định ) có thể thay đổi trong form
Mình muốn chèn giá trị "từ: " --->"đến: " vào đọn code nào đó chẳng hạn, hiện tại thì mình chưa làm vào, ai có code ngắn có thể đưa vào cũng đc .
Cái mình muốn là khi đánh trong Form từ cell nào đến cell nào thì trong code sẽ thực hiện như vậy!
Mong các cao thủ giúp đỡ!
 

File đính kèm

Ví dụ : là mình có 1 khung cần chèn từ A1 - D18 ( khoảng này không cố định ) có thể thay đổi trong form
Mình muốn chèn giá trị "từ: " --->"đến: " vào đọn code nào đó chẳng hạn, hiện tại thì mình chưa làm vào, ai có code ngắn có thể đưa vào cũng đc .
Cái mình muốn là khi đánh trong Form từ cell nào đến cell nào thì trong code sẽ thực hiện như vậy!
Mong các cao thủ giúp đỡ!

Xem file xong, chả hiểu cái vụ CHÈN VÀO CODE nghĩa là chèn cái quỷ gì nữa
Tóm lại:
- Chèn CÁI GÌ vào code?
- Chèn vào CODE NÀO?
 
Đoán đại. Chép đoạn code sau và thử nhấn nút Chèn:

PHP:
Private Sub cmdchen_Click()
On Error Resume Next
Add = txttu & ":" & txtden
Sheet1.Range(Add) = "Cheet tit"
End Sub
 
ý của em là khi mình cho range của sheet khi được chọn sẽ đưa vào code, chẳng hạn là khi mình muốn nhập 1 file từ textbox vào sheet nhưng sẽ có khung chọn cái range trong sheet để đưa vào vị trí mình cần trong sheet! ý em là như thế, vì nó cũng hơi mơ hồ nhưng cũng khó giải thích.....mong các thầy chỉ dạy
 
ý của em là khi mình cho range của sheet khi được chọn sẽ đưa vào code, chẳng hạn là khi mình muốn nhập 1 file từ textbox vào sheet nhưng sẽ có khung chọn cái range trong sheet để đưa vào vị trí mình cần trong sheet! ý em là như thế, vì nó cũng hơi mơ hồ nhưng cũng khó giải thích.....mong các thầy chỉ dạy

Ngay cả bạn cũng mơ hồ thì ai biết gì mà giúp
Vậy đợi đến khi nào bạn hoàn tất code và file, đưa lên đây, nếu còn chổ nào trục trặc thì ta giải quyết tiếp
Vậy đi nha
 
em cám ơn bác ptm0412 , cái này đúng ý em rùi, không ngờ dễ thế mà em không nghĩ ra, cám ơn bác ndu96081631 vì đã quan tâm, chẵng là đang ngồi viết mà suy nghĩ lung tung quá nên thế này đó .
 
Các bác ơi! xem dùm em cái code trong modult này với, em phát triển ra từ code ptm0412 bác gợi ý mà sao ko hiện lỗi cũng không thể chèn nội dung vào đc.....em cám ơn bác nhiều.
 

File đính kèm

Lần chỉnh sửa cuối:
Trời ạ, code của bạn:
Add = Userrange & ":" & Userrange1

Làm sao VBA biết Userrange với Userrange1 là cái chết tiệt gì. Trên form chỉ có 2 ô txttu va txtden thôi, bạn lại không chơi, chơi với 2 cái gì đâu, không có giá trị.
 
Trong modult của em là lấy giá trị của cell gán cho Userrange với Userrange1 tại vì khi mình thêm vào cái gì đó thì nó có hàng với có cột, nên em phát triển giống của bác lấy 2 cái giá trị gán cho nó mà.
Giống như : Add = txttu & ":" & txtden (cũng lấy giá trị của 2 textbox này mà)
 
Trong modult của em là lấy giá trị của cell gán cho Userrange với Userrange1 tại vì khi mình thêm vào cái gì đó thì nó có hàng với có cột, nên em phát triển giống của bác lấy 2 cái giá trị gán cho nó mà.
Giống như : Add = txttu & ":" & txtden (cũng lấy giá trị của 2 textbox này mà)

1. Lấy giá trị của cell là lấy cái gì ở cell nào?

2. Gán cho Userrange với Userrange1 là range nào và range nào? Bởi vì trong suốt quá trình chạy code, Userrange với Userrange1 không có giá trị gì cả, nó "Empty"

3. Tại sao không lấy địa chỉ range từ txttu và txtden? Vẽ ra 2 textbox, hì hụi gõ vào, rồi vất?
 
cái này thì em làm từ từ bác ah! tại vì kinh nghiệm chưa sâu, lúc đầu chả là em muốn lấy giá trị trong 1 khoảng nào đó thì ta dùng textbox, nhưng giờ với điều kiện là như thế này : vd : từ cột A1 -> A8 và hàng là C2->F2 chẳng hạn thế nên em mới cho nó lấy giá trị :
DefaultRange = Selection.Address
Set Userrange = Application.InputBox _
(Prompt:=UniVBA("Cho5n Co65t Ca62n Che2n"), _
Title:=UniVBA("Tho6ng Ba1o"), _
Default:=DefaultRange, _
Type:=8)
DefaultRange = Selection.Address
Set Userrange1 = Application.InputBox _
(Prompt:=UniVBA("Cho5n Ha2ng Ca62n Che2n"), _
Title:=UniVBA("Tho6ng Ba1o"), _
Default:=DefaultRange, _
Type:=8)
mong bác chỉ giáo cho em về cái này đi, nếu đưa câu lệnh khác cho Userrange thì nó chạy, còn đưa vào form thì nó ko thấy hiển thị gì.
 
Một đống code đó gồm 2 inputbox, 2 inputbox đó đã thay bằng 2 ô textbox txttu và txtden. Vậy thì code phải dùng giá trị của txttu và txtden chứ?
 
2 ô textbox đó em làm để thử đưa giá trị vào thui, chứ thực ra là em muốn là làm cái khi mình chạy thì nó mở ra 1 ô để minh chọn cột bất kì và 1 ô để mình chọn hàng bất kỳ, rùi chèn nội dung từ textboxnoidung vào hàng và cột đó.
 
ý em là thế này bác ah! Untitled.jpgnhưng nếu chọn trong txttu --->> txtden thì nó ra thế này Untitled2.jpg
 
Bạn hỏi cái gì thì tôi trả lời cái ấy. Bạn đưa file và code lên, hỏi tại sao không chạy, thì tôi trả lời rằng 2 cái Userrange của bạn không chứa giá trị nên nó không chạy.

Vậy thì bạn phải gán giá trị cho 2 cái userrange, hoặc gán Range, hoặc gán địa chỉ range.
 
Bác có thể chỉ rõ cho em được không? em còn mù mờ lắm,em cám ơn bác, vì trong cái modult em có gán range cho cái Userrange và Userrange1 rùi...... mà ko bik sai chỗ nào -+*/
 
Bác có thể chỉ rõ cho em được không? em còn mù mờ lắm,em cám ơn bác, vì trong cái modult em có gán range cho cái Userrange và Userrange1 rùi...... mà ko bik sai chỗ nào -+*/

Trong module (không phải modult) của bạn có code gán cho userrange và userrange1. Nhưng nếu bạn không chạy code đó thì nó vẫn không gán, và 2 đứa nó vẫn không có giá trị.

Ngoài ra, chạy code đó xong, gán xong, giá trị đó cũng mất. Vì giá trị gán đó chỉ tồn tại trong khi chạy code mà thôi, code ngưng, giá trị bị xóa.

Vậy, bạn phải khai báo biến public trên đầu module. Mà đã dùng inputbox thì 2 cái textbox không dùng, xóa phứt đi. Mà cái nội dung cần điền thì cũng có thể dùng luôn cái inputbox thứ 3, khỏi dùng form.

Cách thứ 2, cũng dùng form, mà không cần dùng inputbox (tức là không cần đoạn code trong module), là thay vì dùng 2 textbox, dùng 2 control RefEdit.
PHP:
Private Sub cmdchen_Click()
If RefEdit1 = "" And RefEdit2 = "" Then
    MsgBox "Phai chon it  nhat 1 vung": Exit Sub
End If
On Error Resume Next
Range(RefEdit1) = txtnoidung
Range(RefEdit2) = txtnoidung
End Sub
 

File đính kèm

cám ơn bác đã giải thích, giờ thì em biết em bị khúc mắc chỗ nào rùi, cám ơn bác rất nhiều.
 
Web KT

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

Back
Top Bottom