CONCATENATE和TEXTJOIN公式/ Excel / VBA

时间:2016-12-16 22:25:02

标签: excel vba excel-vba excel-formula textjoin

我又遇到了一些问题。这是合约:

enter image description here

我想使用TEXTJOIN函数连接A:G范围内的所有元素,滑动潜在的空单元格。 问题是,我必须遵循一定的顺序......这就是H列所指示的:一个键,每个字母代表一个列

我的想法是使用这个公式:

= CONCATENER(" =&#34 ;;" JOINDRE.TEXTE("" - "&#34 ;; VRAI;" ;; STXT(H 2; 1; 1); LIGNE(H2);&#34 ;;&#34 ;; STXT(H 2; 2:1); LIGNE(H2);&#34 ;;&#34 ;; STXT(H2; 3; 1); LIGNE(H2);&#34 ;;&#34 ;; STXT(H 2; 4; 1); LIGNE(H2);&#34 ;;&#34 ;; STXT( H2; 5; 1); LIGNE(H2);&#34 ;;&#34 ;; STXT(H2; 6; 1); LIGNE(H2);&#34 ;;&#34 ;; STXT(H2; 7; 1); LIGNE(H2);")&#34)

(我知道,看起来很糟糕哈哈)

然后将其复制并粘贴到另一个单元格中的值中以执行操作(= textjoin公式的实际结果)。 不幸的是,这个想法并不起作用......

我还尝试在textjoin公式中使用我的分隔符周围没有括号的公式,然后替换" - " by"" - ""使用宏但它似​​乎不能正常工作......

有任何线索吗?

谢谢大家,感谢已经在这篇文章中帮助过我的人: VBA - Count empty cols, search and replace

2 个答案:

答案 0 :(得分:1)

这是您正在寻找的Textjoin功能:

 =TEXTJOIN("-",TRUE,INDIRECT(MID(H2,1,1)&ROW(H2)),INDIRECT(MID(H2,2,1)&ROW(H2)),INDIRECT(MID(H2,3,1)&ROW(H2)),INDIRECT(MID(H2,4,1)&ROW(H2)),INDIRECT(MID(H2,5,1)&ROW(H2)),INDIRECT(MID(H2,6,1)&ROW(H2)),INDIRECT(MID(H2,7,1)&ROW(H2)))

答案 1 :(得分:1)

除了Mister 832以外,这里有一个(可能的)替代解决方案,适用于那些没有Excel 2016 Textjoin 功能的人。

=SUBSTITUTE(INDIRECT(MID(H2;1;1)&ROW(H2))&" "&INDIRECT(MID(H2;2;1)&ROW(H2))&" "&INDIRECT(MID(H2;3;1)&ROW(H2))&" "&INDIRECT(MID(H2;4;1)&ROW(H2))&" "&INDIRECT(MID(H2;5;1)&ROW(H2))&" "&INDIRECT(MID(H2;6;1)&ROW(H2))&" "&INDIRECT(MID(H2;7;1)&ROW(H2));"  ";" ")