Chọn ngẫu nhiên theo

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

MinhK

Thành viên mới
Tham gia
12/1/08
Bài viết
38
Được thích
7
HI, các anh chi trong diễn đàn

Tôi đang muốn chuyển từ .WBT (WinBatch) sang VBA vì cảm thấy WBT chạy châm lại khi đổi sang xlsm.2007 và vất vả với 5000 cột 3500 dòng ! (Có lẽ tại anh Bill nhiếu hơn)
Book1.2.xls, dùng WBT tạo ra công thức (RANDOM) cho các cell từ cột K --> IT
Random pick các số từ cột C --> J (= 8 số), tuy nhiên không lập lại 1 số đã dùng
Viết công thức ( thí dụ cell K2 : =CONCATENATE(J2,C2,G2,I2,D2,H2,F2,E2)
Số 01- 09 phải viết là 01, 02, 03... 09 (Char)
Cứ như thế chạy từ K tới IT.
Với các dòng thì chỉ copy là đươc.
Mong các bạn giúp đoạn code như thế nào để viết được công thức như trên
theo cách WBT, tôi cũng bi trùng lặp ở vài cột, (chưa hoàn chỉnh lắm ạ)
Cảm ơn các bạn trước.
MK
 

File đính kèm

Lần chỉnh sửa cuối:
Thân chào anh SA_DQ

hai hôm này bi máy chạy test nên không vào đươc net.

Rấc cảm ơn anh , đoạn replace8 đặt vào là chạy tốt ngay.

Tôi chưa hiểu đoan code replace8 trong:

For bD = 2 To 9
Replace8 Cells(bD, 3), Cells(bD, 4)
Next bD
SearchDuplicat
End Sub


Tai sao chỉ có 3, 4 ?
Replace8 Cells(bD, 3), Cells(bD, 4)

Mong anh giãi thìch , cho tôi hiể dươc rỏ ràng .

MK

 
Upvote 0
Thân chào anh SA_DQ
hai hôm này bi máy chạy test nên không vào đươc net.
Rấc cảm ơn anh , đoạn replace8 đặt vào là chạy tốt ngay.
Tôi chưa hiểu đoan code replace8 trong:
Mã:
For bD = 2 To 9
Replace8 Cells(bD, 3), Cells(bD, 4) 
Next bD

Mã:
Sub Replace8(rWhat As String, dReplace As Variant) 
    Columns("E:E").Select 
    Selection.Replace What:=rWhat, Replacement:=dReplace, LookAt:=xlPart, _ 
        SearchOrder:=xlByRows, MatchCase:=True 
End Sub
Macro Replace8 cần 2 biến số để dùng biến số này thay cho biến số kia;
Một biến cần thay là các ký tự; & cái kia là các ký số;
Nhưng do excel chấp nhận 15 số nên mình chỉ thay 7 chữ cái bằng 7 nhóm ký số.
Nếu thay chữ cái cuối cùng thì excel sẽ biến các ô này theo dạng 2.15456E+15
không có nghĩa gì cho chúng ta xem xét tiếp. . .
Thân ái!:-=
 
Upvote 0
Chào anh SA_DQ

Vi không hiêu code do vây, Hôm nay chay lai macro thi bi dang 2.15456E+15
Thay lai tri số của anh, tôi vân bi dang trên

For bD = 2 To 8 ' 7 chữ cái bằng 7 nhóm ký số ?????
Replace8 Cells(bD, 3), Cells(bD, 4)
Next bD

"Nếu thay chữ cái cuối cùng thì excel sẽ biến các ô này theo dạng 2.15456E+15"

Dùng for bD=2 to 8 kết quả của vài dòng là:

08192932393357H
081929393357H32
081929H32393357
08193229393357H

Mong anh xem lai.

Anh co thể giải thich thêm cề Cells(bD, 3), Cells(bD, 4)
Con số 3 và 4 là trên.

Cám ơn anh.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình gởi lại cho bạn file đầy đủ; Macro sẽ xóa vùng từ 'E2:E2900' sau mỗi lần bắt đầu chạy mà!
Để hiểu thêm về các chỉ số cột (3) & (4) , bạn hãy xem trong file đính kèm; Bạn thử đổi bằng các nhóm số khác xem sao!
:-=
 

File đính kèm

Upvote 0
Thân chào anh SA_DQ

Ui cha thì ra thế: Cột. châm tiêu quá !!

Anh SA_DQ ui, kết quả cũng không đổi đươc chừ H sang variant !

A 19 0417192056H2928
B 29 041719282056H29
C 28 04171929282056H
D 20 04171956H292820
E 17 041719H29282056
F 04 0417202856H1929
G 56 041720292856H19
H 16 04172056H192928

Thanks,
MK
 
Upvote 0
Anh SA_DQ ui, kết quả cũng không đổi đươc chừ H sang variant !
Mã:
 19 0417192056H2928               29 041719282056H29
 28 04171929282056H                         20 04171956H292820
 17 041719H29282056                         04 0417202856H1929
 56 041720292856H19                         16 04172056H192928
Thanks,
MK
Như trên đã nêu, thừa khả năng thay chữ cái thứ 8 trong excel;
Nhưng để đọc được nó thì ta phải dùng mẹo:
a*/ Định dạng kiểu chuỗi;
b*/ Thêm dấu . vô cuối trước khi thay chũ cái cuối cùng
lúc đó sẽ thấy 04 0417202856191929.
 
Upvote 0
Chào anh Sa_DQ
Tôi thử định dãng cột E:E là Text, sau do chạy lai macro thì cột E:E không biết dang gì nữa ?
Tôi chậm tiêu quá , anh Sa_DQ chỉ cái mẹo ra đươc không?
Nhưng để đọc được nó thì ta phải dùng mẹo:

a*/ Định dạng kiểu chuỗi;
b*/ Thêm dấu . vô cuối trước khi thay chũ cái cuối cùng

lúc đó sẽ thấy 04 0417202856191929

Thanks
 
Upvote 0
Web KT

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

Back
Top Bottom