界定在单元格中的文本列垂直
在本文中,我们将创建一个宏以将单元格中的文本定界为垂直列。我们可以基于定界符在单元格中定界文本。分隔符可以是逗号,空格,反斜杠等。
为了解释宏的工作原理,我们在单元格A10中将URL作为示例文本。单击“提交”按钮可以执行宏。
执行宏后,它将在下一列中返回输出。
单元格中的文本值被分隔为第二列中多个单元格中的多个子字符串。
逻辑解释
我们创建了一个宏“ texttocolumns”,它执行两个任务。
首先,它基于定界符将A10中的字符串定界为多个子字符串。在此示例中,我们使用破折号(-)作为分隔符。其次,它将生成的子字符串从多列遍历到单个列。
代码说明
Rng.texttocolumns目标:= Rng.Offset(0,1),数据类型:= xlDelimited,_ TextQualifier:= xlDoubleQuote,ConcecutiveDelimiter:= True,其他:= True,OtherChar _:=“-”
上面的代码用于在“ Rng”范围内分隔字符串。目标指定将在其中显示输出的位置范围。 DataType指定使用的分隔符的类型。 TextQualifier指定用于文本限定符的字符。 OtherChar指定用作分隔符的字符。
请遵循以下代码
Sub texttocolumns() 'Declaring variables Dim StartRow, i, LastCol As Long Dim Rng As Range 'disabling the display alerts Application.DisplayAlerts = False 'Initializing the variable StartRow = 10 Set Rng = Range("A10") 'Separting the text based on the delimiter Rng.texttocolumns Destination:=Rng.Offset(0, 1), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Other:=True, OtherChar _ :="-" 'Finding the column number of cell containing the last string after delimiting LastCol = Rng.End(xlToRight).Column 'arranging the text in columns to rows For i = 2 To LastCol Cells(10, i).Cut Cells(StartRow, 2) StartRow = StartRow + 1 Next i End Sub
如果您喜欢此博客,请在Facebook和Facebook上与您的朋友分享。
我们很希望收到您的来信,请让我们知道我们如何才能改善我们的工作并使您的工作更好。写信给我们[email protected]