首页 > 解决方案 > 如何在每列的字符数等于 20 的范围内为每一列添加空格?

问题描述

我使用的一个程序只接收每个单元格中包含 20 个字符的数据。每列的每个单元格的字符数相同,但从 1 个到 8 个不等。无论如何要在每个单元格中输入空格,以便它们加起来最多 20 个字符?

Dim wb1 As Workbook
Dim ws1 As Worksheet
Dim rang As range
Dim colA As range

Set wb1 = ThisWorkbook
Set ws1 = wb1.Sheets("osbstd")
Set rng = ws1.range("A1:FJ10000")
Set colA = ws1.range("A1:A10000")

For Each one In Selection
   If colA.Value <> "" Then colA.Value = colA.Value & Space(19)
Next

寻找一种更简单的方法来执行此操作,而不是使每列变暗(因为有 23 列)并为每列执行 if 语句

标签: excelvba

解决方案


对我来说,最简单的方法是这样的:

Dim result As String
For j = 1 To 23
    For i = 1 To 10000
        result = Cells(i, j).Value
        Do While Len(result) < 20
            result = result & " "
        Loop
        Cells(i, j).Value = result
    Next i
Next j

推荐阅读