Uvazhaemie pomogite razreshit vot takoy vopros (sam v VBA ne silen). Pri pomoschi CommandButton nuzhno:
1.Scopirovat list s dannimi i prisvoit emu kak imya znachenie ukazannogo diapazona.
2.Sozdat na ishodnom liste diapazon s silkami na scopirovanniy list.
Zaranee blagodaren.
Prisvoit imya listu, nahodyascheesya v yacheyke.
Модератор: Naeel Maqsudov
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
В обработчикt CommandButton пишем:
sh2.Range("a1").Address(True, True, xlA1, True) - это текст ссылки на ячейку a1 листа sh2. Фактически это выражение даст "<имя_листа>!A1"
Подробнее о записи формул см свойства Formula, FormulaLocal, FormulaR1C1 и FormulaR1C1Local.
А также FormulaArray.
Код: Выделить всё
Dim sh As Worksheet, shName As String, sh2 As Worksheet
Set sh = ActiveSheet
shName = ActiveCell.Value 'или =Range("Указанный диапазон").Value
'вот копирование
sh.Copy After:=sh
'вот присвоение имени
ActiveSheet.Name = shName
'вот возврат на исходный лист и вписывание туда формулы
Set sh2 = ActiveSheet
sh.Activate
sh.Range("a1").Value = "=" & sh2.Range("a1").Address(True, True, xlA1, True)
sh2.Range("a1").Address(True, True, xlA1, True) - это текст ссылки на ячейку a1 листа sh2. Фактически это выражение даст "<имя_листа>!A1"
Подробнее о записи формул см свойства Formula, FormulaLocal, FormulaR1C1 и FormulaR1C1Local.
А также FormulaArray.