Добрый день. Только начал работать в Excel и возникла потребность автоматизировать процесс. Есть две книги "Книга1" и "Книга2", в этих книгах данные, в данные Книги2 ссылаются на данные в Книге1. Подскажите пожалуйста каким образом можно изменить (кроме как вручную каждую ячейку)номер строки в ссылке на Книгу 2? Что я имею ввиду: есть в Книге2 "=[Книга1.xlsx]Лист1!$D$8", а надо выделить нужную ячейку, нажать допустим сочетание клавиш, чтобы стало "=[Книга1.xlsx]Лист1!$D$9 ". Буду очень благодарен за ответ.
Добрый день. Только начал работать в Excel и возникла потребность автоматизировать процесс. Есть две книги "Книга1" и "Книга2", в этих книгах данные, в данные Книги2 ссылаются на данные в Книге1. Подскажите пожалуйста каким образом можно изменить (кроме как вручную каждую ячейку)номер строки в ссылке на Книгу 2? Что я имею ввиду: есть в Книге2 "=[Книга1.xlsx]Лист1!$D$8", а надо выделить нужную ячейку, нажать допустим сочетание клавиш, чтобы стало "=[Книга1.xlsx]Лист1!$D$9 ". Буду очень благодарен за ответ.Evgeni4_se
Evgeni4_se, не понято, что Вы хотите. в книге2 должна быть одна строка или не получается протянуть формулу? уберите $ поиграйтесь клавишей F4 в режиме редактирования
Evgeni4_se, не понято, что Вы хотите. в книге2 должна быть одна строка или не получается протянуть формулу? уберите $ поиграйтесь клавишей F4 в режиме редактированияNic70y
На картинке массив чисел, в каждой ячейке своя ссылка типа =[Книга1.xlsx]Лист1!$D$8, но разные ссылки (разные буквы и разные цифры $D$8, тут), мне надо сделать +1 к каждой цифре в ссылке, т.е. чтобы вместо $D$8, стало $D$9 ($D$8 и $D$9 это условно, для примера.)
На картинке массив чисел, в каждой ячейке своя ссылка типа =[Книга1.xlsx]Лист1!$D$8, но разные ссылки (разные буквы и разные цифры $D$8, тут), мне надо сделать +1 к каждой цифре в ссылке, т.е. чтобы вместо $D$8, стало $D$9 ($D$8 и $D$9 это условно, для примера.)Evgeni4_se
Evgeni4_se, Вы так и не ответили на мои вопросы, ну ладно как хотите [vba]
Код
Sub u_723() For Each u In Selection On Error Resume Next a = u.FormulaR1C1 b = InStrRev(a, "C") c = Mid(a, b, 6) 'столбец d = Left(a, b - 1) e = InStrRev(d, "R") f = Left(a, e) 'левая часть формулы g = Mid(d, e + 1, 7) 'строка If IsNumeric(g) Then i = g + 1 Else If g = "" Then g = 0 h = Replace(Replace(g, "[", ""), "]", "") i = "[" & h + 1 & "]" End If j = f & i & c 'новая формула u.FormulaR1C1 = j Next End Sub
[/vba]
Evgeni4_se, Вы так и не ответили на мои вопросы, ну ладно как хотите [vba]
Код
Sub u_723() For Each u In Selection On Error Resume Next a = u.FormulaR1C1 b = InStrRev(a, "C") c = Mid(a, b, 6) 'столбец d = Left(a, b - 1) e = InStrRev(d, "R") f = Left(a, e) 'левая часть формулы g = Mid(d, e + 1, 7) 'строка If IsNumeric(g) Then i = g + 1 Else If g = "" Then g = 0 h = Replace(Replace(g, "[", ""), "]", "") i = "[" & h + 1 & "]" End If j = f & i & c 'новая формула u.FormulaR1C1 = j Next End Sub
Evgeni4_se, на всякий (вдруг внезапный) случай c = Mid(a, b, 6) 'столбец замените на c = Mid(a, b, 9) 'столбец g = Mid(d, e + 1, 7) 'строка на g = Mid(d, e + 1, 10) 'строка
Evgeni4_se, на всякий (вдруг внезапный) случай c = Mid(a, b, 6) 'столбец замените на c = Mid(a, b, 9) 'столбец g = Mid(d, e + 1, 7) 'строка на g = Mid(d, e + 1, 10) 'строкаNic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Пятница, 08.09.2023, 17:18