在excel中如何使用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这个文件的打开及关闭过程是看不到的,楼主可以在运行代码前和运行代码后对比一下差别。

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

实现的方法和详细的操作步骤如下:
1、首先,打开需要处理的文档,如下图所示,然后进入下一步。




2、其次,完成上述步骤后,工作表“1”要引用sheet3中的值,如下图所示,然后进入下一步。



3、接着,完成上述步骤后,输入公式“= Sheet3!C1”,然后按Enter键确认,如下图所示,然后进入下一步。



4、最后,完成上述步骤后,可以返回到“sheet3”表,看到了成功引用了C1中的值,如下图所示。这样,问题就解决了。



Sub main()
Dim mySheet As Worksheet
Dim tmpSheet As Worksheet
Dim R As Integer, C As Integer
R = 1
Set mySheet = ThisWorkbook.Worksheets.Add()
mySheet.Name = "汇总"
For Each tmpSheet In ThisWorkbook.Worksheets
With tmpSheet
If .Name <> "汇总" Then
For C = 1 To 6
mySheet.Cells(R, C) = .Cells(1, C)
Next
mySheet.Cells(R, C) = .Name
R = R + 1
End If
End With
Next
End Sub
'如果你已经建好了“汇总”表,请先删除之。

在sheet100的A1输入公式
=indirect("sheet"&row()&"!r1c",)
向右向下填充即可

Sub a()
Dim i As Long
For i = 1 To 100
Sheets("sheet" & i).Activate
Range("A1:F1").Copy Sheets("汇总").Range("A" & i)
Next i
End Sub

用VBA的formula啊


在excel中如何使用VBA宏代码快速把一个工作簿中不同工作表的固定单元格区域的数值转移到同一个工作表中?视频

相关评论:
  • 18679796971如何使用excel的VBA函数进行入门级编程
    邬服发1、打开excel表格。2、新建一个表格。3、点击“开发工具”中的“VBA”。4、点击“插入”中的“模块”。5、输入:Sub输入()Range("A1")= 360 End Sub 可以执行的VBA代码(宏程序),结构是这样的:Sub程序名(参数)可以执行任务的代码 End Sub 6、点击“运行”图标。7、较后就完成了。

  • 18679796971如何用vba在excel里添加工作表?
    邬服发1、首先,在Excel中按快捷键“Alt + F11”,如下图所示。2、其次,在VBA编辑器中依次单击“插入”-->“模块”,如下图所示。3、然后,在“模块”中输入如下代码:Option Explicit Sub addwork()Sheets.Add after:=Sheets(Sheets.Count)End Sub 4、接着,在VBA编辑器的左侧输入模块的名称,如下...

  • 18679796971怎样用VBA在excel中添加一个工作表并且对其命名
    邬服发1、首先,打开Excel,按下快捷键“Alt + F11”进入VBA编辑器,如图所示。2、在VBA界面中,选择顶部菜单的“插入”选项,然后选择“模块”,如图所示,这将创建一个新的代码区域。3、接下来,在新创建的“模块”中,输入以下基础代码:vba Option Explicit Sub addwork()Sheets.Add After:=Sheets(Shee...

  • 18679796971Excel中使用vba控制语句的操作方法
    邬服发首先我们打开一个工作样表作为例子。按下alt+f11进入vba编辑器,并新建一个模块作为学习的例子。接下来我们搭建模块必须的准备工作,对变量进行显性声明,并新建一个模块定义。vba中对程序操作的流程的控制使用if函数进行控制。在excel中也有if函数公式。大家可以理解意义同样是“如果”,但是vba中的if因为嵌...

  • 18679796971vba设置excel数据变动提醒
    邬服发1. **打开VBA编辑器**:在Excel中,按下`Alt + F11`键进入VBA编辑器。2. **插入模块**:在VBA编辑器中,右键点击VBAProject下的任一工作簿名称,选择“插入”->“模块”,创建一个新的模块。3. **编写代码**:在模块中编写VBA代码,用于监控特定单元格的数据变动,并在变动时触发提醒。例如...

  • 18679796971如何在Excel中创建VBA程序
    邬服发创建VBA程序的步骤包括:首先在Office 365的Excel中,按下Alt+F11键进入VBA编辑器;其次在编辑器中插入模块并编写代码。例如,输入以下代码可在Excel工作表的A列填充1至10的数字:在Excel中,打开VBA编辑器,选择工作簿,在左侧项目树中选择,然后选择“运行”->“运行子\/用户表单”或按F5键执行宏,...

  • 18679796971excel利用vba定义函数的教程全解
    邬服发用vba定义函数步骤1:例:下面表格中需要计算一些三角形的面积 用vba定义函数步骤2:B列是底边长,C列是高,要求在D列通过公式计算三角形面积。excel利用vba定义函数的教程 图1 (通常我们会在D3单元格用公式 =B3*C3\/2 来计算,然后把这个公式向D列下方拖动复制,得到其他公式。这只是一个简单的例子...

  • 18679796971excel中VBA程序调用函数的方法
    邬服发Excel中VBA程序调用函数的方法如下:打开 Microsoft Office Excel 2007,点击 “开始” ->“Excel 选项”。在弹出的对话框中,选择“常规”选项卡,并在右侧点选“在功能区显示‘开发工具’选项卡”,并单击“确定"。在单元格A1中输入“弧度”,单元格B1中输入“角度”,单元格A2中输入“3.14”,...

  • 18679796971怎样在Excel中插入VBA宏?
    邬服发1. 下载VBA插件:访问WPS官网,通常在“支持与帮助”或“插件中心”部分,可以找到VBA插件的下载链接。也可以选择信誉良好的第三方网站下载VBA插件,但需谨慎,确保网站安全可信。2. 确保WPS Excel版本最新:在安装VBA插件之前,务必确保你的WPS Excel是最新版本。访问WPS官网,使用&...

  • 18679796971Excel中使用vba让程序说话的制作方法
    邬服发Excel中使用vba让程序说话的制作步骤如下:首先我们打开一个工作样表作为例子。使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:Sub myProcedure()Application.Speech.Speak ("Hello" & Application.UserName)End Sub speech.speak命令需要安装texttospeech组件,如果没有安装...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网