Có phải tại cái biến không ?

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

giaosy

Thành viên thường trực
Tham gia
6/12/06
Bài viết
205
Được thích
144
Mã:
Sub Bao_cao()
 Dim maCK As String
 maCK = InputBox("Hay nhap ma chung khoan cua cong ty can bao bao vao day")
 Sheets("Report").Select
 Range("E6") = maCK
 Range("E7:E27").Select
 Selection.ClearContents
 Range("E7").Activate
[B]ActiveCell.FormulaR1C1 = "=HLOOKUP(R6C5,Sheets(maCK)!R4C1:R22C7,2,0)"
[/B]End Sub

Các bác giúp em giải thích tại sao nó báo lỗi ở dòng này với.
Cảm ơn các bác nhiều
 
Bạn thử với câu lệnh sau
PHP:
ActiveCell.FormulaR1C1 = "=HLOOKUP(R6C5,maCK!R4C1:R22C7,2,0)"
hoặc
PHP:
Sub Bao_cao()
Dim maCK As String
maCK = InputBox("Hay nhap ma chung khoan cua cong ty can bao bao vao day")
Sheets("Report").Select
Range("E6") = maCK
Range("E7:E27").ClearContents
Range("E7").Value = "=HLOOKUP(E6,maCK!A4:G22,2,0)"
End Sub
TDN
 
Upvote 0
Cảm ơn bác tedaynui, tôi đã thử để như thế trước khi dùng cách như đã hỏi các bác. nếu dùng trực tiếp maCK vào thì chương trình nó bắt "update value maCK". Không hiểu tại sao nữa, mong các bác tiếp tục giúp đỡ.
Cảm ơn các bác.
 
Upvote 0
Cảm ơn bác tedaynui, tôi đã thử để như thế trước khi dùng cách như đã hỏi các bác. nếu dùng trực tiếp maCK vào thì chương trình nó bắt "update value maCK". Không hiểu tại sao nữa, mong các bác tiếp tục giúp đỡ.
Cảm ơn các bác.
À mình sơ ý không đọc kỹ code. Tất nhiên nó hỏi vì không có tên Sheet "maCK" mà chỉ có tên sheet mang tên giá trị của maCK. Vậy thì dùng Indirect hoặc &
Ví dụ :
Range("E7").Value = "=HLOOKUP(E6," & maCK & "!A4:G22,2,0)"
hoặc
Range("E7").Value = "=HLOOKUP(E6,INDIRECT(E6&"!A4:G22"),2,0)"

TDN
 
Upvote 0
Sub Bao_cao()
Dim maCK As Variant
maCK = InputBox("Hay nhap ma chung khoan cua cong ty can bao bao vao day")
Sheets("Report").Select
Range("E6") = maCK
Range("E7:E27").Select
Selection.ClearContents
Range("E7").Select
ActiveCell.FormulaR1C1 = "=HLOOKUP(R6C5,&maCK&!R4C1:R22C7,2,0)"
End Sub

vẫn báo lỗi bác tedaynui ạ, nghĩ thêm hộ em với-+*/
 
Upvote 0
Cảm ơn bác tedaynui, tôi đã thử để như thế trước khi dùng cách như đã hỏi các bác. nếu dùng trực tiếp maCK vào thì chương trình nó bắt "update value maCK". Không hiểu tại sao nữa, mong các bác tiếp tục giúp đỡ.
Cảm ơn các bác.

Dĩ nhiên là nó sẽ báo như thế! Vì đoạn code bên dưới bác viết:
Dim maCK As String
maCK = InputBox("Hay nhap ma chung khoan cua cong ty can bao bao vao day")
maCK là biến string, không phải là tên sheet nên đoạn code này bị lỗi
Range("E7").Value = "=HLOOKUP(E6,maCK!A4:G22,2,0)"

Bạn hãy thử đoạn code này:
PHP:
Sub Bao_cao()
Dim maCK As String
maCK = InputBox("Hay nhap ma chung khoan cua cong ty can bao bao vao day")
Sheets("Report").Select
Range("E6") = maCK
Range("E7:E27").ClearContents
Range("E7").Value = "=HLOOKUP(E6," & maCK & "!A4:G22,2,0)"
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn các bác đã nhiệt tình giúp đỡ, công thức bác chỉ đúng rồi.
 
Upvote 0
Bạn giaosy tải file này về nghiên cứu nhé!
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom