私はGoogleのスクリプトでのGoogleスプレッドシートを使用していると私は、スクリプトエディタでコードを実行しなくても、番号を入力するユーザー時に行を挿入します。したがって、選択したセルの値を変更すると、コードは自動的に実行されますが、これは起こっていません。すでにそれらのセルに書かれているデータを上書きしてこれは、自動部品なしで働く代わりの行を挿入されGoogleのスクリプトまたはVBA - 入力値を入力する時に挿入行(エクセル)
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 + ':')
}
}
:これは、これまでの私のコードです。私は私がしようとしている
もう一つの方法は、コンピュータ上ではなく、同様の問題を使用してExcelでVBAエディタを使用することです...そのデータを維持したいです。目的のセルに「アレンジメント」よりも何か書き込まれている場合、それは実行されません。既に「手配」がある場合、それは数え続けます。それは私が欲しいものではありません...私は「3」を選択し、「5」なら、それは唯一の1から5まで手配していない1〜8を表示する必要があり、それが書かれているデータを失うことなく、行を挿入する必要があります前。トムのコード@
:
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
誰かが私を助けてくださいことはできますか?これらの言語の両方について何も知らないでください!
これはGoogleスクリプトで行うことができます。 Excelの必要はありません – Tom
Javascriptで?セルからどのように値を取得できますか? – eduroc92
は、私はGoogleのシートで働いていないので、それが可能だ場合は見当がつかないが、私はそれのため@Tom単語を取る決してきました。 VBAでは、単にエクセルrange.formula ..すなわち 'Thisworkbook.Worksheets( "シート1")を使用範囲( "A1")式= "= SUM(A2:A5)"。。' – Zac