首页 文章

Excel - VBA:一劳永逸地为我的Sheet的所有单元格设置标准格式

提问于
浏览
0

我对excel有一个非常讨厌的问题:我有一些VBA宏,其目的是用一些内容填充其他一些单元格 . 我的问题是excel不断改变某些单元格的格式!谢谢,但我没有要求这个,每次它试图帮助我,它只是让事情变得更糟 .
当我右键单击单元格以设置标准格式然后再次尝试我的宏...它会回到excel更改!

以下是我遇到的问题的示例:

enter image description here

另一个例子是数字中的小数位数:如果我的宏正在复制/粘贴一个小数为11的数字,那么excel就是保持7!很烦人!

3 回答

  • 0

    您只能通过传递字符串变量来复制您的值,例如

    dim s as string
    s = cstr(myrange.value)
    mysecondrange.value = s
    

    如果您的问题仍然存在,则代码的另一部分会出现问题 .

    另一个问题可能是新格式化为一般格式,在这种情况下,excel将始终假设它知道更好地将格式更改为套件 . 根据您的目标,您可能需要使用相同的VBA代码自行设置格式,例如

    mysecondrange.numberformat = "@" 'to text 
     'or
     mysecondrange.numberformat = myrange.numberformat 'to other cells format
    
  • 2

    一种方法是将基础数据与格式化数据分开 . 首先创建基础数据表,而不关心格式化 . 然后使用从基础数据表中获取数据的公式创建演示文稿表,并完全锁定这些演示文稿表 . 即使Excel也无法重新格式化完全锁定的工作表 .

  • 0

    你在用 PastePasteSpecial .

    前者相当于 PasteSpecial xlPasteAll ,其中包括格式 .

    也许你的代码可以使用 Range.PasteSpecial xlPasteValuesRange.PasteSpecial xlPasteFormulas

相关问题