我可以使用广泛使用的GetValues函数从已关闭的工作簿中获取值;它工作得很好。
但有时我需要从已关闭的工作簿中获取单元格的公式。我尝试修改GetValues以获取单元格公式,但遇到错误。
如何从已关闭的excel文件中获取单元格的公式(而不是简单的值)?
With Sheets
For r = 2 To NewRowQty ' from second row to last row
For c = 1 To ThisColumnEnd ' out to EndColumn (from import dialogue box)
ThisCell = C
多年来我第一次找不到和我一样问题的人.
我使用VBA从大约1000个封闭工作簿中获取数据。只要我正在寻找的工作表存在于目标工作簿中,它就能正常工作。但是,如果工作表不存在,而不是抛出错误,则会出现弹出,要求我选择另一个工作表。当然,问题是它停止了宏。
我想禁用此功能,以便能够管理错误。我很确定这是一个简单的关闭参数,但是尽管我尽了最大的努力,我还是找不到哪一个。
下面是代码(主要来自互联网),以及相关的弹出内容。
非常感谢您的帮助!
Sub get_data_from_closed_file()
Dim rgTarget As Range: Set rgTarget = ThisWo
我真的很难在VBA中设置正确的公式来输出列表中的唯一值列表。 Dim lastRow As Long
With ActiveSheet
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
Range("B1").Select
ActiveCell.Formula2R1C1 = "=UNIQUE(RC[-1]:" & lastRow & ")" 我想要做的事情很简单。只需使用从单元格A1到该列中最
我需要引用一个带有变量的单元格位置,代码如下:
Dim jj As Integer
jj = 1
Do While jj <= x
if Cells(jj, 2) = "Some Criteria" Then Cells(jj, 3).Formula = "=Cells(jj,1)^2"
jj = jj + 1
Else
jj = jj + 1
End If
Loop
问题是,单元格C1中的值(即当单元格( jj,3)当jj=1时)从字面上读取= cells(jj,1)^2,这会导致错误,
我在VBA中遇到了一个问题,就是有一行代码抛回了一个错误。
宏的作用是查找特定的单元格,然后将数据粘贴到其中。
代码如下:
'To find Column of Customer imput
For Each cell In Range("B4:M4")
If cell.Value = strLeftMonth Then
DataImportColumn = cell.Column
End If
Next
For Each cell In Worksheets("data customer mon
我已经编写了添加条件条件的代码-但是我想重用代码,并且我发现我需要根据应用条件的范围的起始行更改条件中的行号 所以这是我的代码,内联了一些关于这个问题的注释 Dim RG As Range, fmtc As FormatCondition
Set RG = WS.UsedRange 我希望范围从第3行开始-这是第2行 Set RG = Range(RG.Cells(3, 1), RG.Cells(RG.Rows.Count, RG.Columns.Count)) 但现在这意味着我必须递增下面的数字(即2到3和3到4) Set fmtc = RG.FormatConditions.Add(Ty
我正在尝试将数据从关闭的Excel文件复制到我当前所在的工作簿中。我想浏览文件,然后让宏做剩下的。
我在目标工作簿中得到一个错误,上面写着
“应用程序定义的或对象定义的错误”
下面是我到目前为止的情况。目标是我正在打开的工作簿,y是当前的工作簿,或者至少应该是!
Option Explicit
Sub getfilename()
Dim myFilePath As String
Dim target As Workbook, y As Workbook
myFilePath = Application.GetOpenFilename()
'copying
Set targ
当在google中,单击一个单元格并在单元格的底部,将蓝色图标拖到下一个单元格时,公式将与它一起,并适当地增加A1符号。getFormula()和setFormula()不这么做。有人知道实现这一目标的功能或步骤吗?
function increment() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[1];
//Can this be used to increment A1 notation when setting a formula in another cell
此脚本搜索电子表格,并根据第一列中的值将链接复制到第三列。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var searchMenuEntries = [ {name: "Search in all files", functionName: "search"}];
ss.addMenu("Search Document List", searchMenuEntries);
}
function lastValue(column) {
我写了一个脚本:
function getWN8() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var startRow = 11;
var queryString = Math.random();
var dataRange = sheet.getRange(startRow, 3)
var data = dataRange.getValues();
var values = SpreadsheetApp.getActiveSheet().get
我从一个文件获取信息到另一个文件,使用:(7.xlsx是文件名)
Cells(13, 4).Select
ActiveCell.FormulaR1C1 = "=[7.xlsx]sheet1!R3C5"
在这种情况下,我从C5 spot获取信息。但我想获取的信息不是从这个地点,而是从不同的地方,使用循环。
Dim i As Integer
For i = 3 To 17
Cells(i, 4).Select // works fine
ActiveCell.FormulaR1C1 = "=[7.xlsx]sheet1!R3C5" // I want
我试图使用vba使用动态列引用在单元格中插入公式,如下所示:
Fred = ConvertToLetter(ActiveCell.Column)
Bob = "=DATE(LEFT(" + Fred + "2,4),MID(" + Fred + "2,5,2),MID(" + Fred + "2,7,2))"
ActiveCell.FormulaR1C1 = Bob
Function ConvertToLetter(iCol As Integer) As String
Dim iAlpha As Integer
我有一个excel文件。每一次A列都有一个可更改的行数量,这就是为什么我需要建立动态公式。例如;
我想在B1上写"=LEN(B1)“公式。当双击单元格的右下角时,直到A列值结束为止。这就是为什么在所有这些过程之前,我在单元格C1上写了"=COUNT(A:A)“。
在我的VBA里,我想写;
Dim TEMP As String
TEMP = Range("C1").Value
Range("B1").Select
ActiveCell.FormulaR1C1="=+LEN(RC[-1])"
Selection.AutoFill De
我是VBA新手,正在寻找一种将公式添加到工作表最后一列的方法。问题是,此列之前的列数将发生变化。到目前为止,我的代码是: Dim LastColumn As Long
Dim LastRow As Long
Dim r, count As Range
Dim temp As Integer
ActiveSheet.Name = "Sheet1"
Set sht = ThisWorkbook.Sheets("Sheet1")
LastRow = Range("A" & Rows.count).End(xlUp).Row