Javascript Google脚本或VBA-输入输入值时插入行(Excel)
我正在使用带有谷歌脚本的谷歌工作表,我希望在用户输入数字时插入行,而无需在脚本编辑器上运行代码。因此,如果我更改所选单元格上的值,代码应该自动运行,这是不会发生的。这是我目前的代码:Javascript Google脚本或VBA-输入输入值时插入行(Excel),javascript,vba,excel,google-sheets,Javascript,Vba,Excel,Google Sheets,我正在使用带有谷歌脚本的谷歌工作表,我希望在用户输入数字时插入行,而无需在脚本编辑器上运行代码。因此,如果我更改所选单元格上的值,代码应该自动运行,这是不会发生的。这是我目前的代码: function PopulateColumn() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; for (i = 1; i<=SpreadsheetApp.getActiveSheet().
function PopulateColumn() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
for (i = 1; i<=SpreadsheetApp.getActiveSheet().getRange(9,2).getValue(); i++) {
sheet.insertRowsAfter(11, SpreadsheetApp.getActiveSheet().getRange(9,2).getValue())
SpreadsheetApp.getActiveSheet().getRange(i+10,1).setValue('Arrangement ' + i + ':')
}
}
函数PopulateColumn(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheets()[0];
对于(i=1;i都在单元格B1
中输入,并填充列A
Google脚本方法:
选择工具->脚本编辑器
注意,我没有在评论后更新GS脚本,因为似乎对此不感兴趣
function PopulateColumn() {
for (i = 1; i<=SpreadsheetApp.getActiveSheet().getRange(1,2).getValue(); i++) {
SpreadsheetApp.getActiveSheet().getRange(i,1).setValue('Arrangement ' + i + ':')
}
}
函数PopulateColumn(){
对于(i=1;i都在单元格B1
中输入,并填充列A
Google脚本方法:
选择工具->脚本编辑器
注意,我没有在评论后更新GS脚本,因为似乎对此不感兴趣
function PopulateColumn() {
for (i = 1; i<=SpreadsheetApp.getActiveSheet().getRange(1,2).getValue(); i++) {
SpreadsheetApp.getActiveSheet().getRange(i,1).setValue('Arrangement ' + i + ':')
}
}
函数PopulateColumn(){
对于(i=1;iYou可以用google脚本实现这一点。不需要excel Javascript?如何从单元格中获取值?我从未使用过google sheets,因此不知道这是否可行,但我会使用@Tom word。在VBA中,只需使用excel range.formula..即Thisworkbook.Worksheets(“Sheet1”).range(“A1”).formula=“=SUM(A2:A5)“
你可以用谷歌脚本实现这一点。不需要ExcelIn Javascript?我如何从单元格中获取值?我从来没有使用过谷歌工作表,所以不知道这是否可行,但我会使用@Tom word。在VBA中,只需使用excel range.formula..即此工作簿。工作表(“Sheet1”).range(“A1”).formula=“=SUM(A2:A5)”
VBA:谢谢您的帮助,但我不想在单元格上写入数据时覆盖数据。如何插入行?我可以在选择数字后立即运行代码,而不是每次单击编辑器上的“运行”吗?GS:表示无法从未定义(第2行)读取“范围”我已经更新了它以删除事件。GS会说,当您尝试调试事件时JS:谢谢,但会覆盖单元格上的数据,我如何插入行而不是覆盖写在这些单元格上的数据?VBA:无法理解在工作表对象中的含义…我应该在VBA编辑器中做什么?我从未使用过是的,很抱歉这么烦人!忽略事件驱动基的代码位。将代码粘贴到模块中(您可能需要插入一个)然后单击runVBA:感谢您的帮助,但我不想在单元格上写入数据时覆盖数据。如何插入行?我可以在选择数字后立即运行代码,而不是每次都单击编辑器上的“运行”吗?GS:表示无法从未定义中读取“范围”(第2行)我已经更新了它以删除事件。GS会说,当您尝试调试事件时JS:谢谢,但会覆盖单元格上的数据,我如何插入行而不是覆盖写在这些单元格上的数据?VBA:无法理解在工作表对象中的含义…我应该在VBA编辑器中做什么?我从未使用过是,很抱歉这么烦人!忽略事件驱动基的代码位。将代码粘贴到模块中(您可能需要插入一个),然后单击“运行”
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
Dim StartingRow As Long
Dim StartingArrangement As Long
If Not Intersect(Target, Me.Cells(1, 2)) Is Nothing Then
With Me
StartingRow = .Cells(.Rows.Count, 1).End(xlUp).Row
If StartingRow < 3 Then
StartingRow = 2
Else
StartingArrangement = CLng(Trim(Replace(Replace(.Cells(StartingRow, 1), "Arrangement ", vbNullString), ":", vbNullString)))
End If
For i = 1 To .Cells(1, 2).Value2
.Cells(StartingRow, 1).Offset(i, 0).Value2 = "Arrangement " & StartingArrangement + i & ":"
Next i
End With
End If
End Sub