Hỗ trợ chuyển 1 dòng text thành 10 dòng text theo quy luật

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Tình nghĩa giang hồ

Thanh sơn bất cải, lục thủy trường lưu
Tham gia
29/9/20
Bài viết
330
Được thích
429
Chào anh chị em có trường hợp này nhờ anh chị hỗ trợ giúp.
A2 của em có chuổi dữ liệu
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,0]").Text = Sheet1.Rows(i).Cells(1)
B2:B11 em mong muốn
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i &]").Text = Sheet1.Rows(i).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 1 &]").Text = Sheet1.Rows(i + 1).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 2 &]").Text = Sheet1.Rows(i + 2).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 3 &]").Text = Sheet1.Rows(i + 3).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 4 &]").Text = Sheet1.Rows(i + 4).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 5 &]").Text = Sheet1.Rows(i + 5).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 6 &]").Text = Sheet1.Rows(i + 6).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 7 &]").Text = Sheet1.Rows(i + 7).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 8 &]").Text = Sheet1.Rows(i + 8).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 9 &]").Text = Sheet1.Rows(i + 9).Cells(1)

tương tự A3 cảu em có chuổi dữ liệu
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,0]").Text = Sheet1.Rows(i).Cells(2)
B12:B21 em mong muốn
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i &]").Text = Sheet1.Rows(i).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 1 &]").Text = Sheet1.Rows(i + 1).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 2 &]").Text = Sheet1.Rows(i + 2).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 3 &]").Text = Sheet1.Rows(i + 3).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 4 &]").Text = Sheet1.Rows(i + 4).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 5 &]").Text = Sheet1.Rows(i + 5).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 6 &]").Text = Sheet1.Rows(i + 6).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 7 &]").Text = Sheet1.Rows(i + 7).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 8 &]").Text = Sheet1.Rows(i + 8).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 9 &]").Text = Sheet1.Rows(i + 9).Cells(2)

Em có rất nhiều chuổi kiểu này đều có chung quy luật là số 0 kế chuổi 0]").Text và chữ .Rows(i)
Em có thử viết code nhưng không hiệu quả, vì nó không hiểu chỗ này là Text.
Mã:
Sub motdong_thanh_muoidong()
    Dim j As Integer
    For j = 0 To 9
        Range("B" & j + 1).Value = "session.findById(""wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0," & i + j & "]"").Text = Sheet1.Rows(" & i + j & ").Cells(1)"
    Next j
End Sub
Nhờ anh chị hỗ trợ giúp em trường hợp này.
Em cảm ơn anh chị
 

File đính kèm

  • GPE.xlsx
    11.6 KB · Đọc: 11
Chào anh chị em có trường hợp này nhờ anh chị hỗ trợ giúp.
A2 của em có chuổi dữ liệu
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,0]").Text = Sheet1.Rows(i).Cells(1)
B2:B11 em mong muốn
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i &]").Text = Sheet1.Rows(i).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 1 &]").Text = Sheet1.Rows(i + 1).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 2 &]").Text = Sheet1.Rows(i + 2).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 3 &]").Text = Sheet1.Rows(i + 3).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 4 &]").Text = Sheet1.Rows(i + 4).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 5 &]").Text = Sheet1.Rows(i + 5).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 6 &]").Text = Sheet1.Rows(i + 6).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 7 &]").Text = Sheet1.Rows(i + 7).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 8 &]").Text = Sheet1.Rows(i + 8).Cells(1)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0,& i + 9 &]").Text = Sheet1.Rows(i + 9).Cells(1)

tương tự A3 cảu em có chuổi dữ liệu
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,0]").Text = Sheet1.Rows(i).Cells(2)
B12:B21 em mong muốn
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i &]").Text = Sheet1.Rows(i).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 1 &]").Text = Sheet1.Rows(i + 1).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 2 &]").Text = Sheet1.Rows(i + 2).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 3 &]").Text = Sheet1.Rows(i + 3).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 4 &]").Text = Sheet1.Rows(i + 4).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 5 &]").Text = Sheet1.Rows(i + 5).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 6 &]").Text = Sheet1.Rows(i + 6).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 7 &]").Text = Sheet1.Rows(i + 7).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 8 &]").Text = Sheet1.Rows(i + 8).Cells(2)
session.findById("wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/txtKONP-KBETR[4,& i + 9 &]").Text = Sheet1.Rows(i + 9).Cells(2)

Em có rất nhiều chuổi kiểu này đều có chung quy luật là số 0 kế chuổi 0]").Text và chữ .Rows(i)
Em có thử viết code nhưng không hiệu quả, vì nó không hiểu chỗ này là Text.
Mã:
Sub motdong_thanh_muoidong()
    Dim j As Integer
    For j = 0 To 9
        Range("B" & j + 1).Value = "session.findById(""wnd[0]/usr/tblSAPMV13ATCTRL_FAST_ENTRY/ctxtKOMG-MATNR[0," & i + j & "]"").Text = Sheet1.Rows(" & i + j & ").Cells(1)"
    Next j
End Sub
Nhờ anh chị hỗ trợ giúp em trường hợp này.
Em cảm ơn anh chị
Bạn thử cho cái này lên đầu nhé.
Option Explicit
Ở đây i có phải là biến đâu mà bạn để như vậy phải cho nó vào trong chứ.
 
Upvote 0
PHP:
Sub ThemChucDong()
 Dim Rws As Long, W As Integer, J As Long, Dm As Byte, Vtr As Byte
 Dim StrC As String
 Const Ii As String = "(i)"
 
 Rws = [A2].End(xlDown).Row
 ReDim Arr(1 To 13 * Rws, 1 To 1) As String
 [C2].Resize(13 * Rws).Value = ""
 For J = 2 To Rws
    StrC = Cells(J, "A").Value
    Vtr = InStr(StrC, Ii) + 1
    If Vtr Then
        W = W + 1:              Arr(W, 1) = StrC
        For Dm = 1 To 9
            W = W + 1
            Arr(W, 1) = Left(StrC, Vtr) & "+" & Str(Dm) & Mid(StrC, Vtr + 1, Len(StrC))
        Next Dm
    End If
 Next J
 [C2].Resize(W).Value = Arr()
End Sub
 
Upvote 0
PHP:
Sub ThemChucDong()
 Dim Rws As Long, W As Integer, J As Long, Dm As Byte, Vtr As Byte
 Dim StrC As String
 Const Ii As String = "(i)"
 
 Rws = [A2].End(xlDown).Row
 ReDim Arr(1 To 13 * Rws, 1 To 1) As String
 [C2].Resize(13 * Rws).Value = ""
 For J = 2 To Rws
    StrC = Cells(J, "A").Value
    Vtr = InStr(StrC, Ii) + 1
    If Vtr Then
        W = W + 1:              Arr(W, 1) = StrC
        For Dm = 1 To 9
            W = W + 1
            Arr(W, 1) = Left(StrC, Vtr) & "+ " & Str(Dm) & Mid(StrC, Vtr + 1, Len(StrC))
        Next Dm
    End If
 Next J
 [C2].Resize(W).Value = Arr()
End Sub
Dạ em cảm ơn bác SA_DQ. Nhưng của em cần 2 thông tin: 0]").Text và chữ .Rows(i).
Trong đoạn code này thì chỗ Rows(i) đã đúng yêu cầu. Còn chỗ 0]").Text thì chưa đúng bác ạ.
Bác SA_DQ có thể sửa giúp em thêm chút xíu nữa được không ?
Nó phải ra & i &, & i + 1& , & i + 2&.................
Em cảm ơn bác.
 
Upvote 0
Công thức được không bạn?
Mã:
B2=SUBSTITUTE(SUBSTITUTE(OFFSET($A$1,ROUNDUP(ROW(A1)/10,0),),".Rows(i).",".Rows(i+"&MOD(ROW(A1)-1,10)&")."),",0]"").Text",",& (i + "&MOD(ROW(A1)-1,10)&") &]"").Text")
 
Upvote 0
Công thức được không bạn?
Mã:
B2=SUBSTITUTE(SUBSTITUTE(OFFSET($A$1,ROUNDUP(ROW(A1)/10,0),),".Rows(i).",".Rows(i+"&MOD(ROW(A1)-1,10)&")."),",0]"").Text",",& (i + "&MOD(ROW(A1)-1,10)&") &]"").Text")
Dạ công thức cũng được anh, nhưng mà công thức này nó ra dư 2 cái dấu ( ) với dư chỗ i+0
Dư dấu () thì cũng được. Nhưng có cách nào i + 0 thì ghi là i được không anh
Bài đã được tự động gộp:

Em quên mất rows(i) và row(i+0) giống nhau. Em cảm ơn anh Thắng.
 
Lần chỉnh sửa cuối:
Upvote 0
Chưa thỏa i xì xì theo yếu cầu của bạn (& bạn tự sủa thử trước đi nha):
PHP:
Sub ThemChucDong()
 Dim Rws As Long, J As Long, W As Integer, Dm As Byte, VTr As Byte, VTr0 As Byte
 Dim StrC As String
 Const C1 As String = "0,0":            Const C2 As String = "(i)"
 
 Rws = [A2].End(xlDown).Row
 ReDim Arr(1 To 13 * Rws, 1 To 1) As String
 Range("C2").Resize(Rws * 13).Value = ""
 For J = 2 To Rws
    StrC = Cells(J, "A").Value
    VTr = InStr(StrC, C1) + 2
    For Dm = 0 To 9
        W = W + 1
        Arr(W, 1) = Left(StrC, VTr) & "& i &+" & CStr(Dm) & Mid(StrC, VTr + 1, Len(StrC))
        VTr0 = InStr(Arr(W, 1), C2) + 1
        Arr(W, 1) = Left(Arr(W, 1), VTr0) & "+ " & CStr(Dm) & Mid(Arr(W, 1), VTr0 + 1, Len(StrC))
    Next Dm
 Next J
 Range("C2").Resize(W).Value = Arr()
End Sub
 
Upvote 0
Thử dùng công thức cho excel 365
Mã:
=LET(t,A2:A6,
f,LAMBDA(a,b,SUBSTITUTE(SUBSTITUTE(a,"Rows(i)","Rows(i + "&b&")"),",0]"").Text",",& i + "&b&" &]"").Text")),
ar,DROP(REDUCE("",t,LAMBDA(x,y,LET(ty,f(y,SEQUENCE(10,,0)),VSTACK(x,ty)))),1),
SUBSTITUTE(ar," + 0",""))
1678419396934.png
 
Upvote 0
Web KT

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

Back
Top Bottom