Как извлечь первые n символов из ячейки и скопировать их в новый лист - PullRequest
0 голосов
/ 14 января 2019

Я хотел извлечь первые два слова в одну ячейку, а третье - в другую, и они должны быть в новом листе. Пример:

В листе 1, ячейка A1 'xxx-xx-xxx'

В Sheet2 должно быть так:

Ячейка А1: «ххх-хх» Ячейка A2: 'xxx'

Как я могу сделать это с помощью VBA?

Любая помощь будет принята с благодарностью

Спасибо!

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Два из трех

Sub TwoOutOfThree()

    Const cSheet1 As Variant = "Sheet1"   ' Source Worksheet Name/Index
    Const cSheet2 As Variant = "Sheet2"   ' Target Worksheet Name/Index
    Const cCell As String = "A1"          ' Source/Target Cell Range
    Const cDel As String = "-"            ' Delimiter

    Dim vnt As Variant  ' Source Array

    With ThisWorkbook.Worksheets(cSheet1)
        ' Split Source Cell Range into Source Array.
        vnt = Split(.Range(cCell), cDel)
    End With

    With ThisWorkbook.Worksheets(cSheet2)
        ' Write first two words to first cell.
        .Range(cCell) = vnt(0) & cDel & vnt(1)
        ' Write third word to second cell.
        .Range(cCell).Offset(0, 1) = vnt(2)
    End With

End Sub
0 голосов
/ 14 января 2019

Вы можете использовать метод VBA "Split".

Sub SplitCell()

    getString = Sheets("Sheet1").Cells(1, 1).Value2
    splitString = Split(getString, "-")

    Sheets("Sheet2").Cells(1, 1) = splitString(0) & "-" & splitString(1)
    Sheets("Sheet2").Cells(2, 1) = splitString(2)

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...