Nhờ các bác viết code hiển thị kết quả chuỗi số, khi nhập một số cho trước. Em cảm ơn nhiều!

Liên hệ QC

trungtamcnc

Thành viên hoạt động
Tham gia
5/4/10
Bài viết
124
Được thích
9
Phần nhập số vào thì dễ ạ!
Dim j As Long
On Error Resume Next
j = InputBox("Xin nhap so", "Thong bao", "1")
--------------------------------------------------
Nhập xong thì hiện msgbox có kết quả dãy số có: Số đầu tiên là số đã cho, giảm dần về 1, step -1.
Đồng thời có thể copy dãy số đó để dán vào văn bản ạ!
Em cảm ơn!
1654503914766.png
 
Lần chỉnh sửa cuối:
Phần nhập số vào thì dễ ạ!
Dim j As Long
On Error Resume Next
j = InputBox("Xin nhap so", "Thong bao", "1")
--------------------------------------------------
Nhập xong thì hiện msgbox có kết quả dãy số có: Số đầu tiên là số đã cho, giảm dần về 1, step -1.
Em cảm ơn!
View attachment 276974
Bạn sửa tiêu đề cho chuẩn đã rồi tính tiếp. Mình sẽ giúp
 
PHP:
Option Explicit
Sub dayso()
Dim i As Long, j, st As String
j = InputBox("Xin nhap so", "Thong bao", "1")
    If IsNumeric(j) Then
        For i = j To 1 Step -1
            st = st & "," & i
        Next
        MsgBox Right(st, Len(st) - 1)
    Else: MsgBox "So khong hop le!"
    End If
End Sub
 
PHP:
Option Explicit
Sub dayso()
Dim i As Long, j, st As String
j = InputBox("Xin nhap so", "Thong bao", "1")
    If IsNumeric(j) Then
        For i = j To 1 Step -1
            st = st & "," & i
        Next
        MsgBox Right(st, Len(st) - 1)
    Else: MsgBox "So khong hop le!"
    End If
End Sub
Cảm ơn bác đã quan tâm, code chạy hiển thị dãy số đúng mong muốn ạ! Nhưng em cứ nghĩ hiện dãy số ra là copy được để dán văn bản, nhưng trường hợp này nó không cho. Bác giúp thêm em với nhé! Xin lỗi bác không nói từ đầu, em vừa edit bài.
 
Vậy, thay vì xuất ra msgbox, bạn dán vào 1 ô nào đó, VD: A1

Mã:
Range("A1").value = Right(st, Len(st) - 1)
 
Vậy, thay vì xuất ra msgbox, bạn dán vào 1 ô nào đó, VD: A1
...
Tại thớt chỉ có "sáng kiến" mà chưa thấy nó thực hành bao giờ.
Nếu bạn cứ bám theo cái sáng kiến đó sẽ thấy nó lần lượt nở bung ra như bệnh da liễu.

Bài này đáng lẽ phải dùng 1 UserForm
TextBox1 la số nhập, TextBox2 là kết quả.

Hoặc dùng hàm tự tạo.
Ô nào đó = DaySo(số)

Nếu Excel đời 365 hoặc 2021 thì có thể dùng hàm Excel.
 
Tại thớt chỉ có "sáng kiến" mà chưa thấy nó thực hành bao giờ.
Nếu bạn cứ bám theo cái sáng kiến đó sẽ thấy nó lần lượt nở bung ra như bệnh da liễu.

Bài này đáng lẽ phải dùng 1 UserForm
TextBox1 la số nhập, TextBox2 là kết quả.

Hoặc dùng hàm tự tạo.
Ô nào đó = DaySo(số)

Nếu Excel đời 365 hoặc 2021 thì có thể dùng hàm Excel.
Em dùng trong Word nên không làm được như tư vấn của bác (dùng 1 UserForm, TextBox1 la số nhập, TextBox2 là kết quả). Em đành mỗi lần dùng (khi in bằng máy in màu, nó xếp giấy ngược) tạo 1 văn bản mới. Bác viết code giúp em theo hướng dẫn của bác để em học tập với nhé! Em cảm ơn.
Mã:
Sub dayso()
Dim i As Long, j, st As String
j = InputBox("Xin nhap so", "Thong bao", "1")
    If IsNumeric(j) Then
        For i = j To 1 Step -1
            st = st & "," & i
            Next
            Documents.Add DocumentType:=wdNewBlankDocument
            Selection.Text = Right(st, Len(st) - 1)
            Else: MsgBox "So khong hop le!"
    End If
End Sub
 
Em dùng trong Word nên không làm được như tư vấn của bác (dùng 1 UserForm, TextBox1 la số nhập, TextBox2 là kết quả). Em đành mỗi lần dùng (khi in bằng máy in màu, nó xếp giấy ngược) tạo 1 văn bản mới. Bác viết code giúp em theo hướng dẫn của bác để em học tập với nhé! Em cảm ơn.
Mã:
Sub dayso()
Dim i As Long, j, st As String
j = InputBox("Xin nhap so", "Thong bao", "1")
    If IsNumeric(j) Then
        For i = j To 1 Step -1
            st = st & "," & i
            Next
            Documents.Add DocumentType:=wdNewBlankDocument
            Selection.Text = Right(st, Len(st) - 1)
            Else: MsgBox "So khong hop le!"
    End If
End Sub
Word cũng có Userform vậy bạn, sao không dùng được? Còn vụ in ấn, là bạn muốn dán kết quả vào mục nào đó trong hộp thoại để in? Nếu vậy thì kiếm code tương tác thẳng lệnh in luôn.
 
Word cũng có Userform vậy bạn, sao không dùng được? Còn vụ in ấn, là bạn muốn dán kết quả vào mục nào đó trong hộp thoại để in? Nếu vậy thì kiếm code tương tác thẳng lệnh in luôn.
Em không thạo về userform, nghiên cứu mãi mà không viết được cái lệnh đưa số liệu ra textbox2.
 
Bạn dùng code này:
Mã:
Sub TaoChuoiSo()
Dim i As Long, j, sText As String
sText = InputBox("Xin nhap so", "Thong bao", "1")
    If IsNumeric(sText) Then
        For i = CLng(sText) - 1 To 1 Step -1
            sText = sText & "," & i
        Next
        sText = InputBox("Ket qua", "Thong bao", sText)
    Else
        MsgBox "So khong hop le!"
    End If
End Sub
 
Bạn dùng code này:
Mã:
Sub TaoChuoiSo()
Dim i As Long, j, sText As String
sText = InputBox("Xin nhap so", "Thong bao", "1")
    If IsNumeric(sText) Then
        For i = CLng(sText) - 1 To 1 Step -1
            sText = sText & "," & i
        Next
        sText = InputBox("Ket qua", "Thong bao", sText)
    Else
        MsgBox "So khong hop le!"
    End If
End Sub
Cảm ơn bác, bác dùng lại InputBox hay quá!
 
Web KT
Back
Top Bottom