1. 首页 > 科技

VBA怎么给另一个工作簿的textbox赋值? vba给数组赋值的几种方法

VBA怎么给另一个工作簿的textbox赋值?vba给数组赋值的几种方法

请教,如何使用VBA将一个工作簿下的某个工作表中部分单元格数值赋值给另一个工作簿下的工作表中?谢谢!

还没有人帮忙吗?那我就来试试吧。

不知道楼主想要怎么样的结果,我这里就纯粹以自己的臆想来做啊

在这里,我假设有两个excel文件是在同一个文件夹里的,一个为1.xlsx,另一个为2.xlsx

(这里有必要说明一下,我用的是excel2007版的)

那么假设1.xlsx里的sheet1中的A1和C2单元格是我们所要赋值的源单元格,我们想要将它们分别赋值给2.xlsx中的B1,B2单元格,那么可以在1.xlsx用vba代码,具体做法如下:

(1)将1.xlsx打开,然后同时按下Alt+F11,打开visual basic 编辑器

(2)选择菜单上的“插入”下的“模块”,出现一个空白窗口后,粘贴以下代码:

Sub test()Dim r1 As Range

Dim r2 As Range

Dim w As Workbook

ThisWorkbook.Activate

Set r1 = ThisWorkbook.Sheets(1).[a1]

Set r2 = ThisWorkbook.Sheets(1).[c2]

Set w = Workbooks.Open(ThisWorkbook.Path & "\2.xlsx")w.Sheets(1).[b1] = r1

w.Sheets(1).[b2] = r2

SendKeys "~"

w.Save

w.Close

End Sub

(3)回到excel窗口,按下Alt+F8,选中“test”,然后点执行就可以了。

以下是补充说明的几点:

(1)这只是一个例子,可能与楼主的要求符

(2)我用的是excel2007版的,代码可能有些不兼容

(3)在运行代码的过程中,2.xlsx这个文件的打开及关闭过程是看不到的,楼主可以在运行代码前和运行代码后对比一下差别。

好了,就想到说这些,希望对你有帮助,如有疑问,欢迎追问!

VBA中代码选择另一个工作簿怎么写

这个不用VBA就能解决,但我想,没必要分5个工作簿,这个功能太简单了,我能做到选择年级进行筛选,这个筛选不是什么向下的箭头什么的,是你点击一个单元格就能选择年级,选择完年级就能看到相应的,如果你要给别人发过去不同年级的,同时不想让别人看到你的总表,那么我给你提供几个方案,建立登陆系统,只有你有权限查看更改总表,或者利用公文包进行网络共享,在一个就算分开工作簿也没必要用VBA,直接外联工作簿就行,非常简单,首先,你需要建立一个新的工作簿可以命名为一年级,打开这个新建立的,点击A1单元格输入“=”,然后打开你的总表,点击A1这样,一年级的A1就等于总表A1了,拖拉全部都是了,用查找替换功能将公式变成半绝对引用,设置密码加锁,然后再一年级工作簿建立一个一年级工作表,建立查找公式组,这样,就完成了一年级的建立,当然,公式变种方式非常非常多,大概就这个思路,但你想在打开状态提示更新信息到时需要VBA,例如你可以写一个重新计算所有公式的一个VBA代码,然后再在工作簿添加关闭自动保存代码就行了,只要你关闭了他就自动保存了,再打开会提示你要不要更新,点击更新就更新,不点击就会保留状态,点击按钮或者再打开就会得到更新提示或更新总结:换一种思路,一样很方便,建议用VBA实现一些既简单又恶心的功能,例如保存了,例如重新计算公式了(虽然EXCEL自带计算按钮)

excel里面我想 用VBA实现调用另一个工作簿中的数据怎么解决

1、点击Excel界面左下角的录制宏按钮录制宏。

2、在【宏名】处输入一个有意义的名称,帮助以后识别该宏的功能。本例按照默认名称命名。选择将宏录制在【个人宏工作簿】并点击【确定】按钮。

3、马上点击Excel界面左下角的停止录制宏按钮停止宏的录制。

4、按Alt+F11打开VBE界面,如下图。

5、在代码部分输入或者粘贴执行某项特定功能的代码。

6、在功能区(Ribbon)上鼠标右键,选择【自定义快速访问工具栏】。

7、向窗体中拖动一个“标签”和一个“按钮”,右击“按钮”,从其扩展菜单中选择“属性”项。

8、双击“获取Excel数据”按钮,在打开的代码编辑窗口中,输入以下代码。

9、双击“Sheet1”工作表,在弹出的代码编辑窗口中输入如下代码。

10、返回Excel表格,激活Sheet1工作表,就可以看到窗口弹出,同时点击“获取Excel数据”按钮,就可以读取Excel中的数据啦。

利用EXCEL VBA将一个工作薄的内容自动转移到另一个工作薄

首先使用VBA窗体输入是肯定可以实现的,但是你要多人同时输入,需要使工作簿共享,虽然EXCEL在共享工作簿功能中有“允许多用户同时编辑”,但是不能实时更新,必须关闭工作簿后才生效。另一种方法就是写入代码不停的自动刷新。反正这种方法不太顺手。

建议使用Access实现,access提供模板式的输入界面,存取数据的速度也较excel快。excel还有数据容量限制。