小编Chi*_*ito的帖子

VBA多线字符串问题

我没有太多编写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)

string vba

4
推荐指数
1
解决办法
1万
查看次数

Oracle SQL-通过串联行创建字符串,但不超过X个字符

首先,我尝试将行连接成用逗号分隔的字符串。其次,我不希望字符串超过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个字符)

我仍然不确定这是否可以实现,任何建议或暗示将不胜感激。

sql oracle

0
推荐指数
1
解决办法
82
查看次数

VBA将excel单元格中的多行文本拆分为单独的行并保留相邻的单元格值

请参阅显示我的数据和运行宏后预期数据的附加图像,

  • 我想拆分 B 列中的多行单元格并在单独的行中列出并从第一个空格中删除文本。该值将被称为 SESE_ID,并且对于来自同一行的每个 SESE_ID 应该具有来自 C 列的规则。
  • 如果 A 列中有多个前缀由逗号或空格逗号分隔,则对每个前缀重复上述值。

请有人帮助我在宏...

  1. 附加的第一张图片是示例源:

示例源数据图像

  1. 以下是宏:
    子 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) = …

excel vba

-1
推荐指数
1
解决办法
2万
查看次数

标签 统计

vba ×2

excel ×1

oracle ×1

sql ×1

string ×1