使用VBA 在EXCEL中写入公式

sub()

n= ActiveSheet.Name ' n的值是变化的
sheets("另外一个工作表").cells(3,7) = 这里应该如何赋值?

假如 n 的值是 ST7789,那么sheets("另外一个工作表").cells(3,7)里的公式是 ='ST7789'!E2
假如 n 的值是 R63417, 那么sheets("另外一个工作表").cells(3,7)里的公式是 ='R63417'!E2

end sub

求大神解答,感谢

用VBA在Excel中写入公式的方法:

把提取字符的公式写入sheet2单元格

Sub aa()

Sheet2.Range("A1").Formula = "=left(sheet1!A1,5)"

End Sub

直接把结果写入sheet2单元格

sub aa()

sheet2.range("A1").value=left(sheet1.range("A1").value,5)

end sub

VBA主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。

扩展资料:

VBA的相关要求规定:

1、VBA是基于Visual Basic for Windows 发展而来的。与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。

2、VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。

3、VB是独立的开发工具,不需要依附于任何其他应用程序,有自己完全独立的工作环境和编译、链接系统。VBA却没有自己独立的工作环境,必须依附于某一个主应用程序,VBA专门用于Office的各应用程序中,如Word、 Excel、 Access等。在 Access中,可以通过VBA编写模块来满足特定的需要。

参考资料来源:百度百科-VBA

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-10
n= ActiveSheet.Name ' n的值是变化的
sheets("另外一个工作表").cells(3,7) = "='"& n &"'!E2"
第2个回答  2019-04-10
按你举例说的ST7789或R63417还是某个工作簿中工作表的名字才对。若是的话可以这样去写
chr(61)&chr(39)&n&“’!E2”
通过测试可以!追问

感谢,不过在你之前这个问题我自己已经解决OK了,之前一直错误是因为代码格式错误!

本回答被提问者采纳
第3个回答  2019-04-10
细节沟通吧,这里说得也不明白
第4个回答  2019-04-10
Range("B2").AutoFill Destination:=Range("B2:B" & X)
相似回答