如何将单元格的数据复制到另一个具有最多字符和另一个条件的单元格中

请,我想复制一个细胞的数据在另一个单元格在同一张表中的条件:

  1. 最多复制的字符应该是20
  2. 如果单元格的所有字符都小于20,则必须复制字符(例如8个字符)和12个空格。

你可以在这里find我的代码

For i = 1 To table1Rows table1(1 + i, 27) = table1(1 + i, 1) & " ; " & table1(1 + i, 2) & " ; " & table1(i + 1, 40) & " ; " & table1(i + 1, 17) & " ; " & Right(table1(i + 1, 4), 20) & " ; " & table1(i + 1, 3) & " ; " & Right(table1(i + 1, 41), 16) & " ; " & Right(table1(i + 1, 42), 12) & " ; " & Right(table1(i + 1, 44), 12) & " ; " & Right(table1(i + 1, 46), 16) & " ; " & table1(i + 1, 47) & " ; " & table1(i + 1, 48) Next 

尝试这个:

 For i = 1 To table1Rows temp = table1(1 + i, 1) & " ; " & _ table1(1 + i, 2) & " ; " & _ table1(i + 1, 40) & " ; " & _ table1(i + 1, 17) & " ; " & _ Right(table1(i + 1, 4), 20) & " ; " & _ table1(i + 1, 3) & " ; " & _ Right(table1(i + 1, 41), 16) & " ; " & _ Right(table1(i + 1, 42), 12) & " ; " & _ Right(table1(i + 1, 44), 12) & " ; " & _ Right(table1(i + 1, 46), 16) & " ; " & _ table1(i + 1, 47) & " ; " & _ table1(i + 1, 48) ' table1(1 + i, 27) = Left(temp & Space(20), 20) table1(1 + i, 27) = Left(temp & " ", 20) 'Edited as per comment Next