Показать полную графическую версию : [архив] Microsoft Excel 2003 и более ранние версии
Pliomera
07-02-2007, 14:51
ShaRP
В Excel не используется normal.dot
Raman
При выборе места сохранения макроса - указать "сохранить в личной книге макросов".
Либо просто скопировать текст макроса в блокнот и вставлять в другие книги по мере надобности. Чтобы увидеть текст макроса, надо открыть редактор "Visual Basic" и перейти в соответствующий модуль.
ИМХО, самый простой вариант - взять док-т с макросом, сохранить как надстройку эксель (расширение - .xla), затем в "Сервис" -> "надстройки" выставить галочку на загрузку искомой надстройки. А там можно кнопку в панель инструментов вставить, либо просто по имени вызывать. Можно конечно и шаблон создать (с xlt расширением), только это работать будет только с д-ми, из этого шаблона сделаными, плюс макрос в каждом таком документе будет сохранен и доступен для всех кому не лень (не всегда это надо), плюс создавать новые доки нужно из этого шаблона -морока опять же
PliomeraShaRP
В Excel не используется normal.dot
Сорри, переклинило, протупил.
сохранение в личной книге макросов ничего не дает.
Подскажите, как сделать,чтобы строка в таблице автоматически скрывалась при выполнении определённого условия(например: строка 29,при G29=0) и, наоборот, отображалась с заданной высотой при выполнении другого условия (например: G29>0 )???
P.S. G29- ячейка в этой же строке, её значение может быть от 0 и больше.
мда... с выбором раздела справились, а с заголовком темы не сложилось уже? правильно, а зачем думать, проще же копипастом...
Если речь идет о конкретной ячейке g29 - допустим с помощью макроса типа:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Cells(29, 6) = 0 Then
Rows(29).Hidden = True
ElseIf Cells(29, 6) > 0 Then
Rows(29).Hidden = False
End If
End Sub
Спасибо a_axe, ща попробую!
Цитата:Если речь идет о конкретной ячейке g29 - допустим с помощью макроса типа...
Речь идёт о таблице, в которой есть N-ное количество строк, и в каждой из этих строк есть ячейка, взависимости от значения которой (=0 или >0), эту строку нужно скрыть или отобразить.
Заранее спасибло.
Я так думаю, что речь идет о меню "Данные"=>"Фильтр=>автофильтр" (только надо эту таблицу выделить)
С макросом сложнее, он будет типа того что ниже, только посложнее:
Public Sub Workbook_SheetCalculate(ByVal Sh As Object)
Dim intSt, intEnd, intCt, intCol As Integer
'со строки N3
intSt = 3
'до строки N17
intEnd = 17
'со смотрим колонку N7
intCol = 7
For intCt = intSt To intEnd
If Cells(intCt, intCol) = 0 Then
Rows(intCt).Hidden = True
ElseIf Cells(intCt, intCol) > 0 Then
Rows(intCt).Hidden = False
End If
Next intCt
End Sub
А вот как раз автофильтр - то, что нужно!
Балшой спасиб a_axe.
Dimanella
16-04-2007, 14:02
Помогите пожалуйста!!! Как отсортировать данные в столбце по количеству букв в слове? Надо ли использовать макрос или все проще?
Можно макросом, можно проще, все зависит от того, что вы хотите получить. Если без VBA, самый простой вариант: в соседнем столбце вбиваем функцию =ДЛСТР("ячейка"), кторая возвращает длину строки текста ячейки. Затем выделяете столбец данных и новый столбец, заходите в меню "данные" ->"сортировка" и сортируете по значениям нового столбца. После сортировки столбец удаляете.
На всякий пожарный - выкладываю скрины.
Dimanella
16-04-2007, 14:43
Cпасибо за совет - сейчас испытаю. Мне нужно получить два вида сортировки. По количестве букв в строке и по второй букве в слове.
Я нашел где находятся различные функции, но понять смысл пока не могу.
Lord NightGhost
25-04-2007, 14:58
Такой вопрос. В екселе есть два столбца и порядка 14к строк. как сделать так, что бы эксель обрезал все строки первого столбца до 100 символов?
xoxmodav
25-04-2007, 22:00
Lord NightGhost - в следующий раз будь немного внимательнее. Вопрос про программное обеспечение, а не о новостях ПО.
Вердикт: перенос темы в раздел "Программное обеспечение Windows" (http://forum.oszone.ru/forum-7.html).
'первая прога проверяет ячейки 1 столбца до первой пустой, вторая - все ячейки первого столбца
------------------------------------------------------------------------------------
Public Sub TruncCell()
Dim WBK As Workbook
Dim WSHT As Worksheet
Dim i As Integer
Set WBK = Application.ActiveWorkbook
Set WSHT = WBK.ActiveSheet
i = 1
Do While WSHT.Cells(i, 1) <> "" And i <> 65536
WSHT.Cells(i, 1).Value = Left(WSHT.Cells(i, 1).Value, 100)
i = i + 1
Loop
End Sub
--------------------------------------------------------------------------------
Public Sub TruncCellALL()
Dim WBK As Workbook
Dim WSHT As Worksheet
Dim i As Long
Set WBK = Application.ActiveWorkbook
Set WSHT = WBK.ActiveSheet
For i = 1 To 65536
WSHT.Cells(i, 1).Value = Left(WSHT.Cells(i, 1).Value, 100)
Next i
End Sub
проблема :
50 пользователей одновремено открывают один и тот же файл, и начинают его править и пытаться сохранять, получается огромная каша с временными файлами, ни чего не сохраняется, получается ерунда. это все лежит на файловом сервере в общем доступе , опубликовано в AD, офис 2003\ХР на рабочих станциях. Посоветуйте что можно сделать !?
guskov
А чего вы хотите добиться?
Первый раз на форуме, поэтому простите если попал не туда.
Создал в документе Excel расчетные формулы и этот документ (файл) надо отдавать на обработку в другой отдел. Но сотрудники второго отдела берут открывают мой документ и внаглую копируют формулы, вставляя их в свои документы.
Вопрос: Как защитить содержимое документа Excel от полного (любого) копирования, если документ должен быть полностью читаем, т.е. открываться и никакого пароля при открытии не было (никто этого бы не обнаружил, что с документом не все просто...)?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC