Значение ячейки таблицы Excel или Google создается в другой ячейке - PullRequest
0 голосов
/ 13 июля 2020

У меня есть требование в таблице Excel / Google, где, если я ввожу текст в A1 в первый раз, значение должно быть автоматически заполнено в B1, а если я редактирую A1, то обновленное значение должно быть автоматически подставлено в B2, а следующее обновление A1 должно быть автоматически подставлено в B3, и так далее ... без удаления уже созданных значений столбца B.

Фактически ищу настроить БД для APPSHEET.

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Большое спасибо за ответ.

Я только что попробовал, и тоже, похоже, работает ..

function onEdit(evt){
  
var a1Value = SpreadsheetApp.getActive().getSheetByName('forum').getRange('A1').getValue();

  for(var i =1;i<11;i++){
    var b1Obj = SpreadsheetApp.getActive().getSheetByName('forum').getRange('B'+i);    
    if(b1Obj.getValue() == ''){
      b1Obj.setValue(a1Value);
      SpreadsheetApp.getActive().getSheetByName('forum').getRange('A1').setValue('');
      break;
    }
  }

}
0 голосов
/ 13 июля 2020

Для Excel

Поместите следующий макрос события в область кода рабочего листа:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A1 As Range, N As Long, B1 As Range
    Set A1 = Range("A1")
    Set B1 = Range("B1")
    
    If Intersect(Target, A1) Is Nothing Then Exit Sub
    Application.EnableEvents = False
        If B1.Value = "" Then
            B1.Value = A1.Value
        Else
            N = Cells(Rows.Count, "B").End(xlUp).Row + 1
            Cells(N, "B").Value = A1.Value
        End If
    Application.EnableEvents = True
End Sub

Код поддерживает сохранение исторической записи изменений, внесенных в ячейку A1 .

Поскольку это код рабочего листа, очень легко установить и автоматически c использовать:

  1. right- щелкните название вкладки в нижней части окна Excel
  2. выберите Просмотреть код - это вызовет окно VBE
  3. вставьте материал и закройте окно VBE

Если у вас есть какие-либо проблемы, сначала попробуйте его на пробном листе.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более позднюю, чем 2003, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. вызовите VBE windows как указано выше
  2. очистите код
  3. закройте окно VBE

Чтобы узнать больше о макросах в целом, см .:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

и

http://msdn.microsoft.com/en-us/library/ee814735 (v = office.14) .aspx

Чтобы узнать больше о макросах событий (код рабочего листа), см .:

http://www.mvps.org/dmcritchie/excel/event.htm

Макросы должны быть включены, чтобы это работало!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...