Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Замена листа в книге с сохранением формул
 
Добрый день! Уверен, что уже задавали этот вопрос, но не имею понятия как и как мне найти на него ответ. Надеюсь, что вы сможете помочь.  
 
Загвоздка в следующем. Есть книга Excel. Допустим, на "Лист1" в какой-либо ячейке есть формула =Лист2!B3+Лист2!C3  
 
Далее, создается новая книга с другими данными в ячейках на "Лист2". Перемещаем лист2 новой книги в первую книгу. Лист добавляется с именем "Лист2 (2)". Соответственно формула не обновляется. А нужно чтобы обновлялась.  
 
Значит, нужно сделать так чтобы либо лист "Лист2" заменял "Лист2" первой книги, либо чтобы формула менялась на ='Лист2 (2)'!B3+'Лист2 (2)'!C3, а может есть другие решения...  
 
Подскажите, плиз, как сделать.
Помогите написать макрос (отсортировать строки)
 
В таблице около 2 тыс. строк. 13 столбцов. В втором из них -текстовые значения (наименования товаров). В остальных столбцах числа (стоимость, кол-во и пр.).  
Нужно написать макрос, который сортировал бы строки в  этой таблице по второму столбцу, т.е. по наименованию. Этот макрос затем используется в другом, большом макросе.  
Написал сам сортировку "пузырьком" - работает чрезвычайно медленно (если вообще работает - окончания я ни разу не дождался):  
 
Application.ScreenUpdating = True  
Application.Calculation = xlCalculationAutomatic  
 
sub sortirovka()  
 
Dim i As Long  
Dim j As Long  
Dim a As long  
Dim num As Long  
 
Application.ScreenUpdating = False  
Application.Calculation = xlCalculationManual  
 
num = ActiveSheet.UsedRange.Rows.Count  
For i = 2 To num - 1 Step 1  
   For j = 3 To num Step 1  
       If Cells(i, 2).Value > Cells(j, 2) Then  
           For a = 2 To 13 Step 1  
               temp = Cells(j, a).Value  
               Cells(j, a).Value = Cells(i, a).Value  
               Cells(i, a).Value = temp  
           Next a  
       End If  
   Next j  
Next i  
 
Application.ScreenUpdating = True  
Application.Calculation = xlCalculationAutomatic    
 
end sub  
 
 
Если же воспользоваться встроенной сортировкой экселя, то сортирует довольно (и обидно) быстро. Вот, что записывает при этом записывальщик кода:  
 
Sub Macros1()  
 
Range("A1:M2186").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:= _  
       xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _  
       DataOption1:=xlSortNormal  
 
End Sub  
 
Может, это как-то можно в макрос засунуть?  
Буду очень благодарен за любую помощьили совет.
Страницы: 1
Наверх