如何将一排值连接成1个单个字符串?

时间:2019-04-20 01:29:49

标签: excel vba concatenation

我是Excel中VBA的新手,但是我试图将数据行中的所有值连接到一个文本字符串中,但是我很难弄清楚。我一直在尝试For-Next循环和Do Before循环来捕获每个单元格的值直到行的底部,然后将其连接起来(中间有空格)到单个单元格中,然后将其复制并粘贴到其中。预先感谢您的帮助!

/**
  *@var ArrayCollection $Publication_Reseaux_Sociaux
  * @ORM\OneToMany(targetEntity="ProcessBundle\Entity\Publication_Reseaux_Sociaux",
 *     mappedBy="publication",cascade={"persist"})
 *
 */
 public $Publication_Reseaux_Sociaux;


Reseaux_Sociaux Entity:

/**
 *@var ArrayCollection $Publication_Reseaux_Sociaux
 * @ORM\OneToMany(targetEntity="ProcessBundle\Entity\Publication_Reseaux_Sociaux",
 *     mappedBy="Reseaux_Sociaux",cascade={"persist"})
 *
 */
private $Publication_Reseaux_Sociaux;
Publication_Reseaux_Sociaux Entity:
/**
 * @ORM\ManyToOne(targetEntity="ProcessBundle\Entity\Publication",
  *     inversedBy="Publication_Reseaux_Sociaux", cascade={"persist"})
 * @ORM\JoinColumn(name="publication_id", referencedColumnName="id")
   */
  protected $publication;
/**
 *  @var ArrayCollection
 * @ORM\ManyToOne(targetEntity="ProcessBundle\Entity\Reseaux_Sociaux",
 *     inversedBy="Publication_Reseaux_Sociaux",cascade={"persist"})
 * @ORM\JoinColumn(name="Reseaux_Sociaux_id", referencedColumnName="id")
 */
protected $Reseaux_Sociaux;
And this is a part of my code my form:
  ->add('Publication_Reseaux_Sociaux',EntityType::class, [
                'class'    =>Reseaux_Sociaux::class,
                'multiple' => true,
                'expanded' => true,
            ])

2 个答案:

答案 0 :(得分:0)

上一个答案是100%正确的,如果可用,请使用TEXTJOIN。如果没有可用的,则可以使用此...

Public Function ConcatenateCells(ByVal rngCells As Range, Optional ByVal strDelimiter As String = " ") As String
    Dim objCell As Range

    For Each objCell In rngCells
        If ConcatenateCells <> "" Then ConcatenateCells = ConcatenateCells & strDelimiter
        ConcatenateCells = ConcatenateCells & objCell.Text
    Next
End Function

...您可以直接从单元中引用该函数,比运行宏更新单元更容易,是的,已经有大量不同的实现记录在案,但是如果您不打算进行搜索,上面的会给你你想要的。

答案 1 :(得分:-1)

如果您具有Office 365或Excel 2019,则可以使用TextJoin函数在不使用VBA的情况下完成此操作。

如果您没有任何这些Excel版本,请使用过去20年来在网络上发布的众多VBA代码之一来连接范围。