Страница 1 из 1

Prisvoit imya listu, nahodyascheesya v yacheyke.

Добавлено: 26 окт 2004, 07:13
Pavelklim
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.

Добавлено: 02 ноя 2004, 02:40
Naeel Maqsudov
В обработчикt CommandButton пишем:

Код: Выделить всё

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.