0

我得到了一张包含合并单元格的表格,在这些合并的单元格中,一个脚本编写了它的结果。

当我将此结果复制到合并的单元格中时,它最后给了我多个空格。Like : Result #1________(« _ » 代表不可见的空间)

当我将相同的结果放入普通单元格(未合并)时,它不会在末尾放置任何空格。 Result #1

我尝试了多种单元格格式(居中对齐、左对齐等),但没有任何改变。

你知道为什么吗?

谢谢 !

编辑:添加脚本

脚本

function Devise() {
  const sheetName = "Missions";
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName);
  var Devise = "";
  var NombreMission = "";
  var NomOperateurs = "";

  if(sheet.getRange("H2").getValue()=="") { // Si la mission 7 est vide
    NombreMission = 6; // On compte seulement 6 missions
  } else {
    NombreMission = 7; // Sinon on compte 7 missions
  }


  for (i = 1; i < NombreMission+1; i++) {    // Boucle FOR pour NombreMission missions
    if(sheet.getRange(2,i+1).getValue()=="") { continue; } // Si la mission est vide, on la passe
    Devise = Devise + i + "/";
    l = 0;    // Variable pour indiquer "Rien" si personne à placer dans la mission
    NomOperateurs = ""; // Reset les noms pour la mission d'après

    for (j = 1; j < 27+1; j++) {   // Boucle FOR pour tous les opérateurs
      if(sheet.getRange(j+2,i+1).getFontWeight() == 'bold') {     // Vérifie si la case est en gras

        /*if(i!=NombreMission) {  // Tant qu'il ne s'agit pas de la dernière mission ...
          Devise = Devise + sheet.getRange(j+2,1).getValue() + " "; // ... on affiche les opérateurs
        }*/

        NomOperateurs = NomOperateurs + sheet.getRange(j+2,1).getValue() + " ";
        l = l + 1;  // On compte les opérateurs
      }
    }  // Fin Boucle FOR opérateurs

    if (l==24) {                              // S'il y a tous les operateurs sur une mission...
      Devise = Devise + "ALL OPs! "            // ... On affiche "All Op!"
    } else if (i==NombreMission && l!=0) {    // Sinon s'il s'agit de la dernière mission et qu'il reste des opérateurs à placer...
      Devise = Devise + "Autres + Epic ";     // ... On indique qu'il s'agit du reste et des épiques
    } else if (l==0) {                        // Sinon s'il n'y a aucun opérateurs à placer...
      Devise = Devise + "RIEN "               // ... On indique "RIEN"
    } else {                                  // Sinon ... 
      Devise = Devise + NomOperateurs;        // ... On affiche les opérateurs
    }



  }  // FIN BOUCLE FOR NombreMission
  if(NombreMission==6 && Devise!="") { Devise = Devise + "7/!NOTHING!";}
  sheet.getRange("K13").setValue(Devise);
}
4

2 回答 2

0

遇到同样的问题。我有一个带有文本的合并单元格。如果我选择单元格并将其粘贴到记事本中,它会包含很多空白。我已经检查过,如果合并的单元格跨越两行,则空格包括换行符。如果合并的单元格跨越一行但两列,则空白不包括换行符。

如果我有一个单元格并让它从mered单元格“= A1”中获取它的值,则文本不包括空格。

因此,添加空格绝对是合并单元格的结果。

于 2021-03-15T14:58:00.460 回答
0

您的问题与您复制的数据有关,并且您将其复制为在合并单元格中粘贴文本的方式不会创建任何新行。

另外,要记住的重要一点是,它CTRL+ENTER创建了上述空间,也称为换行符

因此,例如,如果此单元格包含文本Text + line break

带有换行符的文本单元格

上面单元格中的文本被复制并粘贴到一个合并的单元格中,它看起来像这样 - 这与您提到的结果相同:

将单元格与带有换行符的文本合并

但是,如果您将相同的文本粘贴到一个简单的单元格中,它将如下所示:

包含文本的单元格

这本质上是因为换行符将表示新单元格的开始。

例如,此单元格包含带有换行符的文本:

![ 带有多个换行符的文本的单元格

将文本复制并粘贴到不同的单元格后,实际粘贴方式如下:

单元格中有多个换行符的文本

为了解决您的问题,我建议您只复制所需的文本,并尽可能避免使用任何换行符

参考

于 2020-06-17T14:29:20.470 回答