首页 > 解决方案 > 阅读另一本工作簿并写作

问题描述

打开excel在VBA下面做,VBA显示有错误,请帮忙检查。

Sub Tianchong()

Dim i As String
Dim w As Worksheet, wb As Workbook, t As Worksheet


Set wb = Workbooks.Open("C:\Users\ZHEN YUAN\Desktop\vba\att.xlsx")

Set w = wb.Worksheets("Sheet1")
set t = worksheets("申请单")

t.Cells(7, 4) = wb.Cells(2, 5)
End Sub

我想要 sheet.cells = wb.sheet.cells(4,7)。但是VBA显示没有找到工作表“申请单”。都excel为xlsx,工作簿中只有一张工作表。

谢谢你!!

标签: excelvba

解决方案


我不明白你的问题,但我想你想将值从 att.xlsx 文件复制到你的工作表中。在这种情况下:

Sub Tianchong()

Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\ZHEN YUAN\Desktop\vba\att.xlsx")

Dim w As Sheet
Set w = wb.Sheets("Sheet1")

Dim t As Sheet
Set t = ThisWorkbook.Sheets("申请单")
      ' ThisWorkbook means your file with macro

t.Cells(7, 4).Value = w.Cells(2, 5).Value

End Sub

在您的代码中可能存在以下问题:

 wb.Cells(2, 5)        ' wb is Workbbok object

使用简单的语言: wb 是 Workbook 对象。它包含工作表。每张纸都包含单元格。您已经尝试直接从 Workbook 访问单元格,我更改了

 w.Cells(2, 5).Value   ' w is Sheet object

如果代码不起作用,请将表格申请单的名称更改为 TEST 和以下行:

 Set t = ThisWorkbook.Sheets("申请单")

Set t = ThisWorkbook.Sheets("TEST")

可能中文名有问题


推荐阅读