我在excel中有两个主表和其他多个表..执行循环的->“控制表”和“目标表”
控制工作表具有要应用循环的范围(在列中),并且该范围旁边是用于“目标工作表”的单元格引用。
目标表有一个名为"Hyp_table“的表,并应粘贴在同一”目标表“的多个位置,其引用应从控制表上执行循环的范围旁边的列中读取。
目标如下:对于控制表中Range中的每个值,如果range中的值为1,则移动到目标表,复制"Hyp_table",并将其粘贴到执行循环的范围旁边的列中存在的单元格编号上。
我使用了以下代码,但它不起作用:
Sub Testing()
Dim rng As Ra
在我的工作簿中的五个工作表中的第三列(Bakery,Floral,Grocery)中,我希望在B列中找到单词Flyer的行。在B列中,每个工作表中有多行,其中的单词Flyer在B列中。当它找到单词Flyer时,它会将整行粘贴到Sheet1中。
我在一个选项卡上使用这个选项卡,但希望使用相同的代码搜索所有三个选项卡(但不是所有五个选项卡)。并将列B中的单词Flyer的所有行粘贴到Sheet1中。
我的代码(有效,但只在Bakery选项卡上):
Sub CopyRowsFlyer()
'This looks in the Bakery tab and moves everything th
我试图使用下面的VBA代码在工作表中的一个单元格中双击,然后在另一个工作表中获得一个筛选的列,但它给了我一个似乎找不到的"Object Required Error“:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Update Table14 to your table name
'Update Field to column number of the field you are filtering
'Update Sheet7 to re
寻找从几个表中按名称获取特定列的方法。我的数据来自几个不同列数的工作表,最多有38列,所以我不能使用getColumnById。我只需要这7列。
首先是将所有工作表范围转换为表,然后是获取所有表。我想要的是按名称获取特定的列,并将所有列合并到一个新表中。
我学习了Docs中的例子,但是我坚持要为每个表获取列名。
我知道我的头值,如下面的例子所示。
function main(workbook: ExcelScript.Workbook) {
let sheets = workbook.getWorksheets();
for (let sheet of sheets) {
我正在尝试在google sheets中创建展开和折叠按钮,因为google不允许在受保护的工作表中使用该功能。 在一个受保护的工作表中,我有这个折叠函数: function Collapse() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var range = sheet.getRange('D1:M1');
sheet.setColumnGroupControlPosition(SpreadsheetApp.GroupControlTo
我正在尝试创建一个返回给定值的地址的函数。我已经做了一个返回地址的搜索函数,但是我不知道如何排除将在其中使用该函数的表。到目前为止,我的代码如下。
理想情况下,我希望在第二张或第三张表中查找一个值(无论它写在哪里),并返回它的地址,然后我可以使用它来查找搜索单词旁边给出的值。
我尝试过使用一些内置函数,比如INDEX( match (,但是我不知道match列,这不会提供任何结果。
Public Function SuperSearch(SVal As String)
Dim FVal As Range
Set FVal = Cells.Find(What:=SVal,
我正在编写一个宏,它比较两列数据,然后确定在这两列中发现重复数据的行。我的程序的这一部分是有效的。但是,我不知道如何在VBA中跨两个独立的"Subs“使用数组。如果你第一次看到我的代码,那就更容易解释了。
Function DuplicateFinder(SheetName1 As String, SheetName2 As String)
Dim D As Object, C
Dim nda As Long, ndb As Long
Dim test As Range
Dim StorageArray(1000)
Dim increment
increment=0
Set
当前I有代码(如下所示),通过这些代码在工作簿中查找所有图表和表,将它们的名称作为数组,然后将它们作为数据验证下拉粘贴到表上,以便使用工作簿的人可以决定在PowerPoint演示文稿中自动生成哪些表和图表。现在我正在尝试编写代码,这些代码也会对命名范围进行同样的操作。,而不是图表或表。由于某些原因,这似乎比我逻辑上想象的要困难得多。如果说有什么问题的话,我想让表格和图表工作起来会更让人头疼,但事实并非如此。
代码和上述表的图片如下所示:
代码:
Dim xlBook As Workbook
Dim xlSheet As Worksheet
Dim xlTable As ListObject
我不明白为什么这个语句不起作用。
Rng = Worksheets(sheetName).ListObjects(table).Range.Select
我有一个带按钮的工作表"sheetX“,它在全局工作区"Thisworkbook”中调用子流程"export_json“。我希望"Thisworkbook“中的子流程在"A2”处引用"sheetX“上的一个表范围,但它给出了一个错误”应用程序定义的错误或对象定义的错误“。我不想使用Application.Goto
为什么会这样呢?我忽略了一些基本的东西
Public Sub CommandBut
你好,我试图定义范围通过一些值在工作表,但我不能这样做。我也不知道是什么引起了这个问题。
我的代码
Dim row As Range
For Each row In [table2].Rows
For Each c In Worksheets(row.Columns(row.ListObject.ListColumns("Sheet").Index).Value)
.Range((row.Columns(row.ListObject.ListColumns("RangeBegin").Index).Value)
+ ":" +
(ro
我对Google应用程序脚本非常陌生,但在从一个Google表中检索值方面取得了一些成功,但我不知道如何修改代码以使代码具有动态性并从列中获取URL。
如何循环此函数以遍历目标表中的Google工作表URL列表,这样我就不必手动添加每个URL?
下面是我当前的代码,它适用于单个工作表。
function copypaste(sourcelink,sourcesheet,sourcerange,destilink,destisheet,destirange) {
//Source Link
var ssraw = SpreadsheetApp.openByUrl(sourcelin
我试图编写VBA代码,以便将一个工作表中的行剪切/复制到一个新的工作表中,只要H列包含我指定的任何值。
当我只设置一个值时,我所拥有的当前代码可以工作,但我希望只要我指定的任何值都在单元格中,代码就会执行。请告诉我,谢谢。
Sub CutPastebyAM()
Dim sht1 As Worksheet, sht2 As Worksheet
Dim i As Long
Set sht1 = ThisWorkbook.Worksheets("Data")
Set sht2 = ThisWorkbook.Worksheets("Sheet1")
For i =
我对在google中使用宏非常陌生,并且很难复制简单的VBA代码
我试图找到A列的最后一行,然后将公式添加到各个列并复制到最后一行。在VBA中,它与**("B2:B" & Lastrow).select一样简单,但这并不是那么直接。我发现并操作了以下内容,但是它总是位于最后一行,而不是最后一行数据。
var sheetName = "Week 1";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(sheetName);
sprea
Sub Save7()
Dim NextRow As Range
Set NextRow = Range("AC" & Sheets("Sheet1").UsedRange.Rows.Count)
Sheet3.Range("AC14:AG14").Copy
Sheet1.Activate
NextRow.PasteSpecial Paste:=xlValues, Transpose:=False
Application.CutCopyMode = False
Set NextRow = Nothing
End Sub
我这段代码的目的是
我有一个谷歌工作表的问题。我的主页(名为" main“)从其他工作表中收集数据。所以,'MAIN‘表单看起来像这样:
我想创建一个单独的日志页面,它只收集“主”表数据,当有人改变他的酒店时,在他的名字旁边。(酒店栏目在主页的第4栏)
..So "LogSheet“需要收集第一列、第二列和第四列的时间戳..
所以最后会有一个列表(谁去了,谁去了,什么时候去的)。它需要是这样的,,但我写不出来:/
function onEdit(e) {
var sheetsToWatch = ["MAIN"];
var changelogSheetName
我正在Google Sheets中创建一个侧栏,用户可以首先从下拉列表中选择一个工作表,然后根据列标题从该工作表中选择一个列。
<!-- Select a data sheet to classify -->
Select sheet to classify: <br>
<select id="dataSheetDropdown">
<? var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets() ?>
<? for(v
我的代码有奇怪的行为。
当我使用Ipad或手机时,我需要脚本触发。我能让它在一张纸上工作--“现有客户”。现在,我正在尝试使用第二个表“新客户端”,它也具有相同的行为,但会触发其他函数。问题是,当我在工作表之间切换时,需要多次检查复选框,而不是一直触发。我的解决方案是为第二个表“新客户”制作另一个电子表格,但我仍然想了解我所做的事情有什么问题吗?这是代码:所以我将代码降到最小,这意味着如果我选中这个框,我在一个单元格中有时间戳。如果我有两张床单,它就不工作了。谢谢你的帮助,j。
function onEditTriggerClientExistant() {
var sheet = Spr
我有一个Google-Sheet脚本,创建几个单元格,并将它们插入到活动工作表中。我想找人帮忙。我需要脚本来做完全相同的工作,但唯一的变化,我需要的是选择工作表中的单元格将被添加。此时,它始终应用于活动板材。
正如你可能认识到的,我在编码和英语方面绝对是新手,所以我真的很感谢每一个想要帮助我的人。
非常感谢你,Petr我现在有的代码:
function myButton(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.g
我是VBA的新手。我有三张纸:“星期天”,“和弦”和“过滤”。我想要检查表'Sunday‘的'A’列是否等于'coords‘表的列'J’中的任意值。如果为TRUE -复制‘筛选’工作表中的行。
到目前为止,我已经尝试了以下代码:
Sub CopyRow()
Dim lastRow As Long
Dim sheetName1 As String
Dim sheetName2 As String
Dim sheetName3 As String
sheetName1 = "Sunday" 'Insert y
如何在列中搜索文本,并选择与搜索文本匹配的所有列和行?
示例表:
ColA ColB ColC ColD
Row1 Bob
Row2 Jane
Row3 Joe
Row4 Joe
Row5 Jack
Row6 Jack
Row7 Jack
Row8 Peter
Row9 Susan
因此marco搜索"Jack“,然后它应该选择ColA-D中的所有第5-7行。
我有一个当前打开封闭工作簿的代码,名为"Specification and Configuration Document.xlsx",现在我需要它在这个封闭工作簿中查找值wsName值随for循环进展而变化的任何工作表。该代码的主要部分在名为"SD093_W.xlsm"的活动工作簿中操作,sysnum变量是在E列搜索唯一值时生成的代码循环。如果找到一个唯一的值,它将查看与E列相同行中的D列单元格,并读取该值,然后分配给变量wsName。
一旦确定了wsName值,我需要代码在关闭的工作簿"Specification and Configuration D
我还在学习Javascript的基本原理,但我知道有一种方法可以简化这个,我就是搞不懂。我修改了我在这里找到的一个脚本:
我与多个用户共享一个工作表,并希望每个工作表中的大多数都受到保护。上面的链接脚本帮助我确保我的用户需要访问的范围可以被所有人编辑,即使在工作表扩展时也是如此。但是,每个工作表上的可编辑范围是不同的,因此我最终回收了unlockCertainRanges()部分,将其单独应用于每个工作表。这使得脚本需要70秒才能运行。我很确定我可以使用数组和for循环来遍历每个工作表,但是我很难弄清楚它。
到目前为止,这就是我所拥有的:
function mainProtection
我正在寻找一种方法来排序我的电子表格。我环顾四周,发现了"on编辑“功能,但我并不完全确定如何使用它。对于google脚本,它是如何在5分钟的运行时工作的,一个单元格的改变是否起触发作用?我找到了以下代码:
function AutoSortOnEdit() {
var sheetNames = ["testsheet456", "testsheet457", "testsheet458"];
var ss = SpreadsheetApp.getActiveSpreadsheet();
sheetNames.forEach
function setStrikeThru(range) {
var ss = SpreadsheetApp.getActiveSpreadsheet;
var sheet = SpreadsheetApp.getActiveSheet();
var cell = sheet.getRange(range);
cell.setFontLine("line-through");
}
//
function compareTwo() {
// strike through duplicates
我想自动滚动到给定行号之后的第一行,A列为空,卸载工作表(此Google工作表)
下面的公式可以工作,但是滚动到最后一个空行,就像我假设的那样,如果一行的公式在单元格中添加了一个空白,它就会将它们计算为非空的。
function onOpen(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetname = ss.getSheets()[0].getName();
// Logger.log("DEBUG: sheetname = "+sheetname)
var sheet = ss.getShee
我有一个deleteEachRow函数,它遍历工作表并删除具有特定列值的行。 这工作得很好,并希望修改它的方式,使其循环通过工作簿中的多个工作表,并删除基于多个列值的行。 deleteRow()脚本 //GLOBALS
var SS = SpreadsheetApp.openById("sheetID");
var SHEET = SS.getSheetByName("Sheet1");
var RANGE = SHEET.getDataRange();
var DELETE_VAL = "abc";
var COL_TO_SEA
我有一本有6张工作表的工作簿。我希望将工作表1和2的值(而不是公式)保存在2个外部文件中。
试过这个:
Worksheets("Sheet1").Copy
With ActiveWorkbook
.SaveAs Filename:="D:\sheet1.xls", FileFormat:=56, CreateBackup:=False
End With
Worksheets("Sheet2").Copy
With ActiveWorkbook
.SaveAs Filename:="D:\sheet2.xls", FileForm
function BatteryInspection(e) {
var range = e.range;
var row = range.getRow();
var col = range.getColumn()
var sheet = range.getSheet();
Logger.log("The row is " + row + " and column is " + col + " the sheet is " + sheet);
var sheet, sheetName, colToCapitalize;
当用户尝试编辑D列中的日期时,当选中同一行的E列中的复选框时,我试图创建一个消息。最终,当选中同一行的E列时,我想阻止用户编辑D列,但从我所读到的情况来看,我认为您无法做到这一点。下面是我的脚本,我非常感谢你的帮助。
function onEdit(e){
var range = e.range
var sheet = range.getSheet();
var sheetName = "Sheet Name";
var row = range.getRow();
var checkboxColumn = range.getColumn();
var e
Function LinkedSheet(rgCell As Range) As Worksheet
'Returns the worksheet that the cell formula references
'Returns nothing if there's no formula
Dim strFormula As String
strFormula = rgCell.Cells(1, 1).Formula
If (strFormula <> "") Then
'Return th
下面有一个例程,如果工作表名称与数组名称匹配,则复制工作表的所有内容。
我已经将工作表复制到目标,但我不会让数组值curRow增加。
我在这里错过了什么?
Sub test()
Dim curRow As Integer, CurrentRow As Integer, LastRow As Integer, LastRow2 As Integer
Dim activeWorksheet As Worksheet
Set activeWorksheet = ActiveSheet
Dim ws As Worksheet
Dim arArray As Va
下面的函数根据特定的值/项删除Google表中的行,我希望修改它以获取要删除的项数组。
原始函数
//GLOBALS
var spreadSheet = SpreadsheetApp.openById("SHEET ID");
var DELETE_VAL = ["Item_to_delete 1", "Item_to_delete 2", "Item_to_delete 3"]
var COL_TO_SEARCH = 5; // The column to search for the DELETE_VAL (