Excel - 单行字符串到多列字符

Excel - String in a single Row to Characters in Multiple Column

我是 Excel VB 的新手。目前,我想做以下事情 -

从单元格读取。像这样的“010111”(二进制)。假设它在 sheet 1,单元格 A10 中。 像这样将相同的信息写入多个单元格。让我们说 sheet 2. 单元格 B1 到 B6。像 , Sheet 2 - B1 -0 Sheet 2 - B2 -1 Sheet 2 - B3 -0 Sheet 2 - B4 -1 Sheet 2 - B5 -1 Sheet 2 - B6 -1 另外,我想让它通用,我的意思是我想有一个 for 循环或类似的东西可以为动态单元格做这个。即,从 sheet 1 - A(i) 到 sheet 2 - B(j) 到 B(j+n)。

请帮帮我好吗?这是否可以从字符串中读取单个字符。我假设我们可以将二进制文件作为字符串并读取每个字符,然后可以将它们一个一个地放入列行中,使其对于任何 row/column.

都是动态的

谢谢, 普拉泰克

下面是如何执行此操作的粗略示意图:

Sub test()
Dim lastRow As Integer, i As Integer, targetCol As Integer, targetRow As Integer
Dim char As String
Dim rng As Range, cel As Range

targetCol = 2 ' Set the target column to col. "B"
targetRow = 1 ' Set the target Row, starts at row 1 (B1)

lastRow = Cells(1, 1).End(xlDown).Row 'assuming your data in column A is a bunch of strings you want to break out, without
    ' any gaps, this will find the last row

Set rng = Range(Cells(1, 1), Cells(lastRow, 1))

For Each cel In rng
    If Len(cel) > 0 Then
        For i = 1 To Len(cel)
            Cells(targetRow + i - 1, targetCol).Value = Mid(cel.Value, i, 1)
        Next i
        targetRow = targetRow + Len(cel)

    End If
Next cel


End Sub

它采用我的 A1:A4 范围,并粘贴到 B 列,从第 1 行开始:

我找到了一个答案,我自己更容易理解。无论如何感谢您的所有建议。由于忙于开发该工具,我无法 post 回复。这是给你们的一小段代码。

'Our first Job is to define the range.

'这里我选择D10到K10。您可以在调试“行数​​和列数”时进行检查。

Dim rng 作为范围,cel 作为范围

设置 rng = 范围("D10", "K10")

'定义计数器变量

将 i 调暗为整数,将 j 调暗为整数

对于rng中的每个cel

If Len(cel) > 0 Then

    For i = 1 To Len(cel)

'从字符串Cel中提取单个字符

'MID(Input_string,Start_position,Number_of_characters)

        char = Mid(cel.Value, i, 1)

'决定你想用这些值做什么

        If char = 0 Then

'Select sheet & 您要打印的单元格位置

          Sheet4.Cells(9 + j, 1).Value =  char + " Hey Prateek,Its a Zero"

        ElseIf char = 1 Then

'Select sheet & 您要打印的单元格位置

            char = 180

            Sheet4.Cells(9 + j, 1).Value =  char + " Hey Prateek, Its a One"

        End If

'执行此操作如果你也想在另一个位置写这个

        'oFile.WriteLine Sheet4.Cells(9 + j, 1).Value

'循环字符然后增加目标中的行数

       j = j + 1

'循环下一个单元格

    Next i

End If

下一张图

您也可以在

阅读相同内容

From Cell to multiple cells in Column 问候 , 帕特里克·杜

祝您Excel愉快。