IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Обсуждение программ (http://www.imho.ws/forumdisplay.php?f=3)
-   -   Microsoft Excel: Вопросы и ответы (http://www.imho.ws/showthread.php?t=26600)

earcher 20.05.2008 08:10

alc1:hry7K5lc@alc1.ru - подходит
alc1:hry7K5lc@Kalc11.ru - подходит
alc:hry7K5lc@Kalculator.ru - подходит
alc:hry7K5lc@abc@Kalculator.ru - подходит

а по поводу второго скрипта?

Alex Dark 20.05.2008 09:20

Цитата:

Сообщение от earcher (Сообщение 1556136)
Сработало на всех кроме:
nilonis:98fduiudhdfh@www.nilonis.com.ua 0 nilonis www.nil

замени в формуле проверку равенства на функцию НАЙТИ()
Цитата:

Сообщение от earcher (Сообщение 1556136)
Со вторым вариантом не понял. Куда исходные значения ставить, куда формулы...

на лист1 добавляешь колонку с формулой =ПОИСКПОЗ(A1;Лист2!A$1:A$20;0)
если в ней стоит число больше нуля на втором листе есть то что ищешь. Если Н/Д - нет.
И третьего листва не надо. Пользуйся фильтром

earcher 20.05.2008 09:28

Цитата:

Сообщение от Alex Dark (Сообщение 1556199)
замени в формуле проверку равенства на функцию НАЙТИ()

Что на что? напиши плиз...
Там и так кругом НАЙТИ)


Цитата:

Сообщение от Alex Dark (Сообщение 1556199)
на лист1 добавляешь колонку с формулой =ПОИСКПОЗ(A1;Лист2!A$1:A$20;0)
если в ней стоит число больше нуля на втором листе есть то что ищешь. Если Н/Д - нет.
И третьего листва не надо. Пользуйся фильтром

понял. отлично

Alex Dark 20.05.2008 11:38

Код:

=НАЙТИ(ЛЕВСИМВ(A1;НАЙТИ(":";A1;1)-1);ПСТР(A1;НАЙТИ("@";A1;1)+1;100);1)

earcher 20.05.2008 18:19

Вложений: 1
Цитата:

на лист1 добавляешь колонку с формулой =ПОИСКПОЗ(A1;Лист2!A$1:A$20;0)
если в ней стоит число больше нуля на втором листе есть то что ищешь. Если Н/Д - нет.
И третьего листва не надо. Пользуйся фильтром
только до 100-й строчки я так понял ищет.
я прикрепил xls, глянь, может я чтото не так сделал

Alex Dark 21.05.2008 08:41

Цитата:

Сообщение от earcher (Сообщение 1556426)
только до 100-й строчки я так понял ищет.

не до 100 а до 20
Цитата:

=ПОИСКПОЗ(A1;Лист2!A$1:A$20;0)
Я тебе уже об этом писал
Лист2!A$1:A$20 - это рабочий диапазон, в котором поиск производится
Лист2 - название листа
A$1 - начало диапазона - колонка А Строка 1. Знак $ - значит зафиксировано и при копировании не изменяется
A$20 - конец диапазона - колонка А строка 20

PS В Excel нажми клавишу F1 почитай помошь. 2/3 вопросов у тебя отвалятся сами

Kofr 07.06.2008 17:52

перестал грузиться personal.xls
 
был файл personal.xls лежал он в C:\Program Files\Microsoft Office\OFFICE11\XLSTART там макросы прописаны, на панельку были вытащены кнопочки, все работало все было гуд, вечером выключили комп нормально, с утра включили панелька исчезла, лезем в макросы и видим нету макросов, тоесть файл personal.xls не грузится больше автоматом, но при этом остался на месте и если в него кликнуть мышкой то он грузится и макросы становятся доступными, но с автозагрузкой нефига :( Вычитал в инете его предлагают запихать в аналогичную папку но в профиль пользователя, запихнул personal.xls стал грузиться автоматический снова, но очень бы хотелось что бы он грузился всетаки не с профиля, а как и обычно. Кто сталкивался с таким как это побороть ?

Cartman 08.06.2008 18:30

Kofr, в параметрах Excel есть такой пункт каталог автозагрузки, туда и пропиши этот путь.
В 2007 это так: Кнопка Office, Параметры Excel, Дополнительно, Каталог автозагрузки.

Judge 08.06.2008 22:51

Цитата:

Сообщение от Cartman (Сообщение 1562539)
В 2007 это так

Это, если не ошибаюсь, OFFICE12.
В OFFICE11 (2003) это так: Сервис - Параметры - вкладка Общие - Каталог автозагрузки.

Kofr 09.06.2008 08:37

Цитата:

Сообщение от Cartman (Сообщение 1562539)
Kofr, в параметрах Excel есть такой пункт каталог автозагрузки, туда и пропиши этот путь.
В 2007 это так: Кнопка Office, Параметры Excel, Дополнительно, Каталог автозагрузки.

прописал, никаких изменений не произошло, personal.xls грузится тока если лежит в профиле юзера :(

Kofr 09.06.2008 12:44

так обнаружился интерестный факт :) в тот день когда это произошла засада с personal.xls комп скачал 190 метров по порту 80 с IP 66.219.91.17 и 72.14.221.17, самое прикольное что как я понимаю IP принадлежат гуглу....

Judge 10.06.2008 02:30

Цитата:

Сообщение от Kofr (Сообщение 1562707)
personal.xls грузится тока если лежит в профиле юзера

А если его открыть и через "Сохранить как..." отправить в
Цитата:

Сообщение от Kofr (Сообщение 1562327)
C:\Program Files\Microsoft Office\OFFICE11\XLSTART

?

Kofr 10.06.2008 09:46

Цитата:

Сообщение от Judge (Сообщение 1562958)
А если его открыть и через "Сохранить как..." отправить в

пробывал, и сохранить и перетащить с другой машины это файлик, ничего :(

eap 10.06.2008 11:39

Не понял, в чем проблема? Ну положи ты этот файл на D, на сетевой диск...
И принципиальный вопрос - зачем Юзера пускать в ПрограммФайлс? Нечего ему там делать.

Kofr 10.06.2008 12:25

Цитата:

Сообщение от eap (Сообщение 1563012)
Не понял, в чем проблема? Ну положи ты этот файл на D, на сетевой диск...
И принципиальный вопрос - зачем Юзера пускать в ПрограммФайлс? Нечего ему там делать.

Personal.xls грузится из двух мест как выяснилось из програмфайлс и из профилей, у офиса две папки автозапуска, проблема в том что профиль у каждого юзера свой и пихать каждому в профиль это геморно, так как менять придется у каждого потом отдельно. Не понял к чему тут сетевая папка ?

eap 10.06.2008 15:02

А какая ситуация у тебя - один комп и много юзеров или компы в сети? Если в сети - то я исхожу из своей ситуации - при входе в систему, загружается перемещаемый профиль пользователя, подключается персональный сетевой диск (скажем, N) и общие сетевые папки. Содержимым персональных дисков, сетевых папок можно управлять с сервера или с админского компа, не обходя всех пользователей.

Kofr 10.06.2008 15:41

Комп один и несколько пользователей, ни доменов ни перемещаемых профилей нет, в силу ненадобности их, скрипты занимаются разборкой неких прайсов и формированием других на основе входной инфы. Все было хорошо пока однажды personal.xls не перестал подгружаться из обычного для него места. В общем проще походу в праздники пока никого не будет переставить офис на этом компе может поможет :)

Judge 29.06.2008 17:46

IMNSHO, может что в реестре глюкнуло?
Я нашёл у себя 4 записи в реестре (WinXP SP2, M$ Office 2003):
HKU/Software/Microsoft/Office/11.0/Common/General - строковой параметр xlstart со значением XLSTART;
HKLM/Software/Microsoft/Windows/CurrentVersion/Installer/Folder - строковой параметр С:/Program Files...XLSTART - значание 1;
HKLM/Software/Microsoft/Windows/CurrentVersion/Installer/Folder/UserData/S-1-5-18/Components/18B64A346A732D11AA98000A9CF0750B - строковой параметр "много цифр" со значением С:/Program Files...XLSTART;
HU/S-1-5-21-много цифр/Software/Microsoft/Office/General - строковой параметр xlstart со значением XLSTART

Dilan 03.07.2008 13:51

Есть один мучающий меня вопрос… допустим в ячейках таблицы прописан генератор случайных чисел, который изменяет заданное значение в пределах +/- 5%. Проблема в том что генератор срабатывает после любого завершенного действия, то есть в процессе работы число постоянно меняется. Возможно есть какой то способ «зафиксировать» числа после заполнения таблицы, что бы в дальнейшее работе они не «плясали» в заданных пределах после каждого нажатии Del? Может быть есть способ скопировать только «видимое» значение таблицы, без копирования формулы прописанной в ячейке?

Borland 03.07.2008 14:04

Цитата:

Сообщение от Dilan (Сообщение 1569295)
Может быть есть способ скопировать только «видимое» значение таблицы, без копирования формулы прописанной в ячейке?

Пункт "Специальная вставка" меню "правка". И выбираешь "вставить только значения".
А вообще воизбежание таких проблем лучше прикрутить датчик случайных чисел на кнопку (по нажатию вычисляется требуемое число и вставляется в нужную ячейку). Но это уже VBA надо учить...

Judge 04.07.2008 23:13

Помогите создать формулу: вычисляется с округлением среднее значение; если это значение находится в диапазоне от Х до Y, то в соседний столбец этой же строки вставляется Слово 1, если в диапазоне от Y до Z - Слово 2...
Немного подробнее и нагляднее в самом файле.
Заранее спасибо.

eap 05.07.2008 08:24

Читаешь в Справке описание математической функции ОКРУГЛ и логической функции ЕСЛИ и пишешь длинную формулу с условиями.
Вопрос к постановке задачи: что должно выводиться при значении 9?

Vellion 05.07.2008 12:31

to Judge

Либо вот так: G1 ячейка в которой среднее округленное значение находиться, оно нормально и так считается
Код:

=ЕСЛИ(G1<5;"ХЗ";ЕСЛИ(G1<=8;"Бронза";ЕСЛИ(G1<10;"ХЗ";ЕСЛИ(G1<=12;"Серебро";ЕСЛИ(G1<=15;"Золото";"ХЗ")))))
Либо функцию писать типа такой:
Код:

Public Function Test(A) As String
If A >= 5 And A <= 8 Then
  Test = "Бронза"
Else
  If A >= 10 And A <= 12 Then
    Test = "Серебро"
  Else
    If A >= 13 And A <= 15 Then
      Test = "Золото"
    Else
      Test = "ХЗ"
    End If
  End If
End If
End Function

P.S. Только в файлике почему то числа в я чейках f3, g3, h3 и так далее, строками себя считают.

Как вариант если промежуточные значения не нужны такое использовать:
Код:

Public Function Test(M) As String
i = 0
s = 0
For Each k In M
  s = s + k
  i = i + 1
Next k

A = s \ i
If (s Mod i) * 2 >= i Then
  A = A + 1
End If

If A >= 5 And A <= 8 Then
  Test = "Бронза"
Else
  If A >= 10 And A <= 12 Then
    Test = "Серебро"
  Else
    If A >= 13 And A <= 15 Then
      Test = "Золото"
    Else
      Test = "ХЗ"
    End If
  End If
End If
End Function

В качестве параметра передавать массив из чего среднее считать, а выдает сразу строку "Бронза", "Серебро" или "Золото"

Judge 05.07.2008 17:58

Цитата:

Сообщение от eap (Сообщение 1569747)
Читаешь в Справке описание математической функции ОКРУГЛ и логической функции ЕСЛИ и пишешь длинную формулу с условиями.

У меня даже "Библия пользователя Excel 2003" есть, но для меня Excel = http://www.kolobok.us/smiles/artists...cuz/JC_nix.gif и http://www.kolobok.us/smiles/madhouse/suicide.gif


Vellion,
спасибо: получилось; правда, пришлось немного подредактировать, чтобы формула приобрела необходимый вид:

Цитата:

=ЕСЛИ(G1<10;"Бронза";ЕСЛИ(G1<=12;"Серебро";ЕСЛИ(G1<=15;"Золото";"")))

earcher 14.07.2008 03:50

Вложений: 1
Есть таблица:

Столбик A:
name1.com
name2.com
name3.com
name4.com
name5.com
name6.com
name7.com
name8.com
name9.com
name10.com
name1.com
name3.com

Столбик B:
host1.net
name5.com
host2.net
name1.com
host3.net
name8.com
host4.net
host5.net
host6.net
host7.net
host8.net
host9.net
host10.net

В столбике C, должно появиться:
name5.com
name8.com


То есть, скрипт(или формула) ищет ячейки из столбца А которые совпадают с ячейками из столбца B и показывает их в столбце C.

Спасибо.

ps. примерчик для наглядности прилогаю

V0land 14.07.2008 10:57

Вложений: 1
earcher,
пока на ум приходит только vlookup, iserror + autofilter

earcher 15.07.2008 02:27

2V0lan2: Благодарю.

А как сделать чтоб наоборот, он в третьем столбке показало те ячейки которые не совпадают в первом и втором столбце?

И ещё как можно в экселе отсортировать значения в столбце не по алфавиту и т.д. а про цвету выделения? У меня в столбцах есть ячейки выделенные разными цветами, как из отсортировать.

Спасибо

V0land 15.07.2008 12:10

earcher,
насчет "по цвету" - хз. но есть гугл =)

korotetsky 15.07.2008 12:27

Цитата:

Сообщение от earcher (Сообщение 1572266)
И ещё как можно в экселе отсортировать значения в столбце не по алфавиту и т.д. а про цвету выделения? У меня в столбцах есть ячейки выделенные разными цветами, как из отсортировать.

2007-й эксель может. и сортировать, и фильтровать..

Judge 16.07.2008 17:14

Вложений: 1
Очередной вопрос:
есть некий список фамилий и имён (~300), некоторые из которых (~40) имеют форматирование. Требуется, чтобы при продолжении списка фамилия и имя, имеющие форматирование отображались с форматированием, а если форматирования нет, то и нет.

Alex Dark 18.07.2008 16:40

ну... что бы сразу ... наверное не получится.
можно постфактум.
1. создаешь временно лист (1 колонка - уникальный список имен, 2 колонка указатель на строку)
2. перебор строк,
2.1 если в списке (1) нет, то добавляешь
2.2 Если есть, то форматируешь по образцу.
3 лист удалил

Judge 18.07.2008 21:54

Вложений: 1
Alex Dark, спасибо, но только то, что ты предлагаешь, мне непонятно, потому что
Уточняю свой вопрос: есть некая таблица для регистрации (прицеплена ниже). В этой таблице есть скрытый список (СС). Надо, чтобы
Цитата:

при продолжении списка фамилия и имя, имеющие форматирование отображались с форматированием, а если форматирования нет, то и нет.
Времени на создание дополнительных списков и проч. просто нет: эта регистрация идёт перед началом соревнования, времени на дополнительную сверку и иные манипуляции нет. Вот и хотелось бы, для оперативного контроля, иметь инструмент сверки с СС.
Мож макрос какой? Типа, ввёл Фамилию и Имя (Ф и И), нажал на кнопку с макросом, он сверил бы введённые Ф и И со СС и, если необходимо, отформатировал введённое.
+++++++++++++++++++

К посту 515: Класс! Это то, что нужно! http://www.kolobok.us/smiles/artists...C_doubleup.gifhttp://www.kolobok.us/smiles/standart/drinks.gif

Alex Dark 18.07.2008 23:03

Judge, гы... яж это и предложил...
Просто то о чем спросил ты, было не совсем понятно (первый пример)

добавлено через 10 минут
Щаз на втором примере помозгую. Если получится то сегодня нацарапаю, нет (извиняйте) завтра...

добавлено через 41 минуту
я вот тут накорябал.
работает для твоего второго примера, для ячейки на которой стот. Лучше всего зацепить на какую нить клавишу (CTRL+Н русская ) вроде свободна
Код:

Sub Макрос2()
Dim К, С, AC, aa, aa1
  С = ActiveCell.Row
  К = ActiveCell.Column
  AC = ActiveCell
  aa1 = UCase(ActiveCell.Value)
  For i = 8 To С
    aa = Cells(i, К).Value
    aa = UCase(Cells(i, К).Value)
    If aa = aa1 Then
      Cells(i, К).Select
      Selection.Copy
      Cells(С, К).Select
      Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
      Exit For
    End If
  Next
End Sub


Judge 22.07.2008 14:58

Вложений: 1
В продолжение к посту 514: осталось сделать ещё пару макросов. В аттаче 2 файла; в файле Макрос_Соло - описание проблемы наглядно. Если коротко: надо, чтобы Фамилия Имя и результат при нажатии на кнопку с макросом, прописывался в другой лист (Диплом).
Заранее премного благодарен!

И ещё такой вопрос (извините моё дилетантство): И ещё такой вопрос: при сохранении макроса в книге создаётся модуль с этим макросом; если требуется записать ещё 1-2 макроса, то записывать его надо в другой модуль или можно в этот же?

korotetsky 22.07.2008 15:04

Цитата:

Сообщение от Judge (Сообщение 1574365)
И ещё такой вопрос: при сохранении макроса в книге создаётся модуль с этим макросом; если требуется записать ещё 1-2 макроса, то записывать его надо в другой модуль или можно в этот же?

можно и в тот же. он сам разделит линией перед каждой строкой Sub ___ ()

korotetsky 22.07.2008 15:20

Вложений: 1
получилось малость через задницу (дохрена лишних итераций), но работает. см. макрос "копипаст"

стоять надо в ячейке с фио и дальше юзаем макрос.
копирует на 2-й лист и делает активным его же

Alex Dark 25.07.2008 12:46

Вложений: 1
или так
см кнопку "печать" в шапке и лист "Диплом (2)"
В ячейеку Т14 скидывается номер строки, а =ИНДЕКС() вставляет значения в ячейки
копипаст2 делает именно это и отправляет на печать

на листе "Диплом (2)" есть список для выбора
Выбираешь из списка, нажимаешь печать - тоже самое без перехода на первый лист

earcher 28.07.2008 15:11

V0land
ты делал скриптик:
Цитата:

earcher,
пока на ум приходит только vlookup, iserror + autofilter
Вложения prim1_.rar (2.2 Кбайт, 5 просмотров - Кто скачивал? )

А как сделать чтоб наоборот, он в третьем столбке показало те ячейки которые не совпадают в первом и втором столбце?

earcher 30.07.2008 09:02

Вложений: 1
Есть таблица:

Столбик A:
name1.com
name2.com
name3.com
name4.com
name5.com
name6.com
name7.com
name8.com
name9.com
name10.com
name1.com
name3.com

Столбик B:
host1.net
name5.com
host2.net
name1.com
host3.net
name8.com
host4.net
host5.net
host6.net
host7.net
host8.net
host9.net
host10.net

В столбике C, должно появиться:
name5.com
name8.com

В столбике D, должно появиться:
host1.net
host2.net
host3.net
host4.net
host5.net
host6.net
host7.net
host8.net
host9.net
host10.net


То есть, скрипт(или формула) ищет ячейки из столбца А которые совпадают с ячейками из столбца B и показывает их в столбце C. Все остальные показывает в столбце D.

Спасибо.

ps. примерчик для наглядности прилогаю
pp.s. я уже похожий скрипт спрашивал, только этот с вышеуказанными дополнениями

V0land 30.07.2008 09:57

earcher,
ну и нафига казе баян? делаешь фильтр по blanks, вот тебе и будут все, которые не совпадают


Часовой пояс GMT +4, время: 15:11.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.