chisinhvnn
Thành viên tiêu biểu
- Tham gia
- 7/3/08
- Bài viết
- 478
- Được thích
- 103
Bạn thêm câu lệnh này nữa.Thì ra kết quả nhưng không biết đúng ý bạn không.Nhờ các nhanh chị xem giúp code sai chổ nào mà không lấy được được kết quả. Nếu dữ liệu là text thì cho lấy số ngẫu nhiên, còn không lấy số chính nó.
Sub Chonvung()
Dim vung As Range, i As Long, j As Long, arr, ketqua As Range
On Error Resume Next
Set vung = Application.InputBox("Chon vung du lieu goc", "Chon vung du lieu", Type:=8)
If (vung Is Nothing) = False Then
r = vung.Rows.Count: c = vung.Columns.Count
ReDim arr(1 To r, 1 To c)
For i = 1 To r
For j = 1 To c
If IsNumeric(vung(i, j)) = False Then
arr(i, j) = 1 + 8 * Rnd() \ 1
'arr(i, j) = Application.WorksheetFunction.RandBetween(10, 20)
Else
arr(i, j) = vung(i, j)
End If
Next j
Next i
End If
Sheet1.Range("F1").Resize(r, c) = arr
End Sub
Bạn thêm câu lệnh này nữa.Thì ra kết quả nhưng không biết đúng ý bạn không.
ReDim arr(1 To r, 1 To c)
Mã:Sub Chonvung() Dim vung As Range, i As Long, j As Long, arr, ketqua As Range On Error Resume Next Set vung = Application.InputBox("Chon vung du lieu goc", "Chon vung du lieu", Type:=8) If (vung Is Nothing) = False Then r = vung.Rows.Count: c = vung.Columns.Count ReDim arr(1 To r, 1 To c) For i = 1 To r For j = 1 To c If IsNumeric(vung(i, j)) = False Then arr(i, j) = 1 + 8 * Rnd() \ 1 'arr(i, j) = Application.WorksheetFunction.RandBetween(10, 20) Else arr(i, j) = vung(i, j) End If Next j Next i End If Sheet1.Range("F1").Resize(r, c) = arr End Sub
cảm ơn bạn. Nếu kết quả mình cần trả về tại vị trí mình chọn thì xử lý như thế nào nhỉ. Mình chưa nghỉ ra cách làmTrước câu lệnh For i = 1 To r thêm dòng này vào.
Mã:ReDim arr(1 To r, 1 To c)
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2