Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 尝试用VBA代码编写(小数字)的幂函数_String_Excel_Vba_Numbers - Fatal编程技术网

String 尝试用VBA代码编写(小数字)的幂函数

String 尝试用VBA代码编写(小数字)的幂函数,string,excel,vba,numbers,String,Excel,Vba,Numbers,我搞不懂如何在Excel中写入单元格的幂。我可以使用chr(185)、chr(178)和chr(179)来显示1、2和3的幂,但我不能显示任何其他数字。您有两个选择: 使用unicode字符 使用单元格格式 我认为格式化方法是正常使用的首选方法,因为它非常灵活(例如,很容易为整个代数表达式上标,如x^(n-1)) 但是,如果最终要导出为CSV或其他格式,则Excel格式将不会继续,在这种情况下,应使用方法1。此外,使用此方法可以在公式中传递上标字符,而实际的单元格格式无法传递 使用Unicode

我搞不懂如何在Excel中写入单元格的幂。我可以使用chr(185)、chr(178)和chr(179)来显示1、2和3的幂,但我不能显示任何其他数字。

您有两个选择:

  • 使用unicode字符
  • 使用单元格格式
  • 我认为格式化方法是正常使用的首选方法,因为它非常灵活(例如,很容易为整个代数表达式上标,如
    x^(n-1)

    但是,如果最终要导出为CSV或其他格式,则Excel格式将不会继续,在这种情况下,应使用方法1。此外,使用此方法可以在公式中传递上标字符,而实际的单元格格式无法传递

    使用Unicode字符

    使用
    ChrW(charcode)
    功能

    charcode可以是unicode字符的十进制或十六进制数字

    这些字符是:

    SuperscriptHex        Dec        
    0          2070       8304       
    1          00B9       185        
    2          00B2       178        
    3          00B3       179        
    4          2074       8308       
    5          2075       8309       
    6          2076       8310       
    7          2077       8311       
    8          2078       8312       
    9          2079       8313    
    
    (参考unicode表:)

    您可以使用
    &H
    作为文本,指示后面的字符应解释为十六进制,如
    ChrW(&H2077)

    使用单元格格式

    范围
    对象具有一个
    字符
    属性,该属性返回一个
    字符
    对象,该对象允许不同的
    字体
    对象到字符串的不同部分。通常,
    Range.Font
    应用于整个文本

    请注意,
    Font
    还有许多其他属性可以应用于子字符串,如粗体/大小等

    示例:

    'Method 1 - Unicode
    ActiveCell.Value = "x" & ChrW(&H2079)
    
    'Method 2 - Formatting
    With ActiveCell.Offset(1, 0)
        .Value = "x9"
        .Characters(2, 1).Font.Superscript = True '2,1 is a substring from 2nd char for 1 char
    End With