Vòng lặp biến số hoặc mảng (1 người xem)

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

Người dùng đang xem chủ đề này

hai1111

Thành viên mới
Tham gia
1/7/07
Bài viết
40
Được thích
6
-Mình đặt biến số Public so1 as integer, so2 as integer,...,so15 as integer
-rồi ví dụ mình gán so1 = 1, so13 =1...
-nếu dùng hàm if so1=1 then ..end if. rồi if so2=1 then.. thì rất dài và lâu nữa
-Các bạn có cách nào dùng vòng lặp biến số hay mảng ko? .Xin cám ơn
 
Dùng vòng lặp For....Next

Mã:
Sub VongLap()
Dim so as Integer, i as Integer
For i = 1 to 15 Step 1
If so = 1 Then
(Làm gì đó tùy bạn)
End If
Next i
End Sub
 
Upvote 0
à, ko phải vậy, cám ơn bạn về đóng góp. Ý mình là :
- thay vì dùng if so1 =1 then...end if
if so5=1 then...end f
- Thì có cách nào vòng lặp như:
for i = 1 to 15
if so&i = 1 then... end if
next
==>nhưng sai, vì nó ko cho ghép chuỗi biến số
 
Upvote 0
Khong được thì dùng Select Case vậy
Thân
 
Upvote 0
Còn làm biếng thì dùng biến mảng.
 
Upvote 0
uhm, mình cũng có nghe nói là dùng mảng rất gọn, bạn có thể ghi code cho mình xem ko?
 
Upvote 0
Khai báo:
PHP:
Public So(1 to 15) as Integer

Gán giá trị:
PHP:
For i =1 to 15
So(i) =1
Next

Thực thi:
PHP:
For j=1 to 15
If So(j)=1 then
..
Next
 
Upvote 0
Sao mình khai báo public cho array đó ko được, còn Dim thì lại được. Cám ơn bạn đóng góp.
 
Upvote 0
Sao mình khai báo public cho array đó ko được, còn Dim thì lại được. Cám ơn bạn đóng góp.

Khi bạn khai báo Biến dùng chung, thì không thể để trong 1 sub hay private sub được, mà phải khai báo riêng ở ngoài sub và private sub. Còn khi khai báo Dim thì biến chỉ có giá trị trong thủ tục đó, ví dụ:
PHP:
Public So(1 to 15) as Integer
'------------------------------------
Sub TestGiDo()
Dim MyNumber as Interger
..... Làm cái gì đó......
............................
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Vấn đề đó mình biết, nhưng vẫn báo lỗi và mình dùng Dim ở phía ngoài Private sub --> nó vẫn xem là public (nhưng không bị lỗi).
Cho mình xin hỏi 1 dạng nữa là: có cách nào vòng lặp gọi lại lệnh private sub ko?
- Mình được biết là chỉ cần gõ tên câu lệnh là được trong trường hợp này:
VD: -Private sub XinYKien1_click
-.....
-end sub

Private sub TraLoiYKien1_click
XinYKien1_click 'gọi lại câu lệnh trên
end sub

- Nhưng nếu có nhiều cái Private sub XinYKien1(hoặc 2,3,4,5...)_click thì mình gọi lại = vòng lặp ra sao?
 
Upvote 0
Vấn đề đó mình biết, nhưng vẫn báo lỗi và mình dùng Dim ở phía ngoài Private sub --> nó vẫn xem là public (nhưng không bị lỗi).
Đó không thực sự là Public. Muốn khai báo biến Public phải khai báo trong Module. Nhấn chuột phải vào this workbook, chọn Insert Module. (hoặc vào Menu Insert)
Nhưng nếu có nhiều cái Private sub XinYKien1(hoặc 2,3,4,5...)_click thì mình gọi lại = vòng lặp ra sao?
Không biết có cách không nhưng nếu các sub XinYKieni giống nhau, thì dùng vòng lặp trong 1 sub XinYkien duy nhất.
 
Upvote 0
Web KT

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

Back
Top Bottom