我没有太多编写VBA脚本的经验,我几乎失去了在多行字符串中查找.我错过的地方是当我尝试将字符串分成多行时,你能帮我解决一下吗?
拆分前的工作字符串如下:
strSQL = "insert into ded_limit_analysis (PDPD_ID,PDDS_DESC,PRODUCT_CAT,BASE_PDPD_ID,PROD_CYCLE,HMO_IND_DED) " & vbCrLf & _
"values (" & "'" & Me.txt_pdpd_id & "'" & "," & "'" & Me.txt_pdds & "'" & "," & "'" & Me.cbx_prod_type & "'" & "," & "'" & Me.txt_base_pdpd & "'" & "," & "'" & Me.cbx_prod_cycle & "'" & "," & "'" & Me.txt_hmo_ind_ded & "'" & ")"
Run Code Online (Sandbox Code Playgroud)
一个不工作的是下面,我试图分割线,因为我有很多列要包含在插入中,它是超过1000个字符,不能适合单行(下面只是样本,实际更长,我我不得不拆分线路.
strSQL = "insert into ded_limit_analysis (PDPD_ID,PDDS_DESC,PRODUCT_CAT,BASE_PDPD_ID,PROD_CYCLE,HMO_IND_DED) " & vbCrLf & _
"values (" & "'" & …Run Code Online (Sandbox Code Playgroud) 首先,我尝试将行连接成用逗号分隔的字符串。其次,我不希望字符串超过X个字符数。如果要超过,则从下一行开始创建另一个字符串,而不从每行切开字符。我正在尝试通过oracle SQL实现此目的。
我正在查看LISTAGG,它为我提供了连接的字符串,但我不知道如何在不从每行中拆分值的情况下按X个字符拆分,比如说我的X = 15个字符。我使用以下代码得到的是
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
select listagg(x, ',') within group(order by x)
from (select level x from dual
connect by level <= 20
)
;
Run Code Online (Sandbox Code Playgroud)
我的预期输出是
第1行:1、2、3、4、5、6、7、8(15个字符)
第2行:9,10,11,12,13(13个字符,因为如果我从下一行中添加值,则将超过15个字符)
第3行:14、15、16、17、18(14个字符)
第4行:19,20(5个字符)
我仍然不确定这是否可以实现,任何建议或暗示将不胜感激。
请参阅显示我的数据和运行宏后预期数据的附加图像,
请有人帮助我在宏...

子 Complete_sepy_load_macro()
将 ws、s1、s2 调暗为工作表
Dim rw、rw2、rw3、col1、count1、w、x、y、z、cw 作为整数
将 text1 调暗为字符串
Dim xwalk As String
Dim TOSes 作为变体
Application.DisplayAlerts = False
For each ws in Sheets
如果 ws.Name = "CMC_SEPY_SE_PYMT" 然后 Sheets("CMC_SEPY_SE_PYMT").Delete
下一个
Application.DisplayAlerts = True
设置 s2 = ActiveSheet
g = s2.Name
Sheets.Add.Name = "CMC_SEPY_SE_PYMT"
设置 s1 = Sheets("CMC_SEPY_SE_PYMT")
s1.Cells(1, 1) = "SEPY_PFX"
s1.Cells(1, 2) = "SEPY_EFF_DT"
s1.Cells(1, 3) = "SESE_ID"
s1.Cells(1, 4) = …