我是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,
])
答案 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代码之一来连接范围。