Показать полную графическую версию : *VBA* | Помогите написать макросы для Excel'я
Delirium
21-07-2010, 01:04
BonoU2, код необходимо вставить не в "Эта книга", а в Module1, так, чтобы код был между Sub и End Sub. Затем идем Сервис-макрос-безопасность - выбираем наш макрос и назначаем ему клавишу или просто жмем Выполнить.
surgutfred
03-08-2010, 10:01
Люди, натолкните на мысль, как сделать.
В таблице есть строки, где данные забиты в два уровня:
"275,83
40,66"
Вот так, но это не объединеные ячейки. Одна ячейка. Мне надо из таких строк сделать две, разделив данные.
Т.е. из этого:
http://s41.radikal.ru/i092/1008/45/fd1172fd0a67.jpg (http://www.radikal.ru)
Должно получиться это:
http://s02.radikal.ru/i175/1008/30/7d9a16649f9a.jpg (http://www.radikal.ru)
В ячейке что бы написать второй строкой жмем ALT+Enter - это что перевод каретки называется? По нему отслеживать?
Delirium
04-08-2010, 00:34
В ячейке что бы написать второй строкой жмем ALT+Enter - это что перевод каретки называется? По нему отслеживать? »
Да, это перевод каретки (или же \b \r в других кодах). Если подождете сутки, вышлю файл, я там как раз делал подобное разбиение и поиск в таких ячейках.
Delirium за Макрос вЕликое спасибо, все работает ка Вы говорили!
Меня тоже интересует как автоматом сделать то что вынес на обговор surgutfred о переводах каретки, иногда такое тоже нужно...
И у меня еще вопрос (извените что надоедаю, файл (вложение) с одинаковыми столбцами в листах : Вовківецька-25, Вербовецька-99, Новичівська-116. Нужно на лист ЗАГАЛЬНА скопировать все данные с етих листо, то есть не делать копирование данных вручную ( у меня таких листов будет много и данные постоянно добавляются), хочу заметить что шапка на всех листах одинакова что б при автомат. копировании она не повторялась в листе ЗАГАЛЬНА. ???
...и еще такой вопрос, у меня вместо подщета формул в екселе 2003 отображаются сами формулы, то есть =СУММ(D34:D58) , а должно считать, не подскажмте как исправить???
Delirium
09-08-2010, 00:31
у меня вместо подщета формул в екселе 2003 отображаются сами формулы, то есть =СУММ(D34:D58) , а должно считать, не подскажмте как исправить?? »
Выделяем ячейку - формат ячеек - меняем вместо ТЕКСТ на ОБЩИЙ. Если же формулы отображаются, но подсчет производится, то идем в Сервис-параметры - и там убираем галку с "Отображать формулы"
как автоматом сделать то что вынес на обговор surgutfred о переводах каретки, иногда такое тоже нужно »
Сегодня постараюсь найти документ и выложить сюда. Файл вложения посмотрю.
Delirium
09-08-2010, 01:26
BonoU2, так этот файл ничем не отличается от того, что я делал ранее для вас. Надо только поменять условия на номера столбцов, по которым искать совпадения и дописать столбцы, которые надо копировать.
Delirium так там ниче сравнивать не нужно, нужно чтоб результат вышел вот такой (вложение, лист ЗАГАЛЬНА) и все???
конструкция IF Else
примерно так это должно выглядеть
Sub такая-то () (если необходимо привязать к событию, то там сложнее, и все-же)
'адрес ячейки (формат R1C1 без кавычек, формат буквенно-циферный A1,B4 в кавычках
If Range("адрес ячейки").value = тому-то then Range("адреc") = тому - то
'если необходимо производить какие-то действия при невыполнении условия ждобавляем Else
Else
Range("адреc") = тому - то
End if
End sub
...
конкретней и я пример кода дам, на примере легче разобраться...
читайте справку
если займетесь всерьез, советую найти учебник Уокенбаха - он очнь доступно на примере Excel вводит в VBA
Прошу помощи, ибо в VBA к сожалению почти не понимаю.
Смысл проблемы вот в чем: из сторонней программы я передаю в excel файл, в котором числа и даты сохранены как текст.
Найдено решение в виде
Sub В_Число()
With ActiveSheet.UsedRange
.Replace ",", "."
arr = .Value
.NumberFormat = "General"
.Value = arr
End With
End Sub
Проблема в другом, как сделать настройку, вывести это все в виде значка на панель в Excele, подключить, проверять нет ли такой установленной уже
и максимально упростить для подключения другими пользователями.
Плз, помогите. Макросы пробовал записывать - выходит ерунда.
BURJ, назначьте макрос (программу) кнопке. И версию Office озвучьте, пожалуйста.
Delirium
23-08-2010, 01:00
как автоматом сделать то что вынес на обговор surgutfred о переводах каретки »
Совсем забыл, что обещал скинуть решение. Во вложении файл, 1 кнопка. При нажатии выбираем диапазон, строку поиска, в какой столбец выводить количество совпадений. В примере в первом столбце нет данных с переводом каретки, вставьте сами. Файл в формате 2007 Excel
okshef, все назначил, это все понятно. КАК АВТОМАТИЗИРОВАТЬ процесс назначения этой кнопки? Т е создать такую надстройку которая при добавлении все делала.
ЗЫ. 2000
2000 »
В нем можно создать свою кнопку на панели с назначенным макросом, причем, независимо от файла. Единственное, не знаю, какой файл в отвечает за пользовательские шаблоны. Берете этот файл и копируйте его на все компьютеры, и у каждого пользователя в Excel будет эта кнопка. За пояснением лучше обратиться в форум Microsoft Office (http://forum.oszone.net/forum-115.html).
кострукция
цикл Do while (сам определись до какого момента выполнять)
конструкция if - Else (проверишь пуста или нет такая-то Range, Offset - сместишься)
н\п
Sub First ()
Dim EndWhile As Variant
Set EndWhile = Range("A1")
'цикл "пока выполняется условие", в данном случае проверяется адрес EndWhile
Do while EndWhile.Address <> "$C$4"
'проверка пустая ли ячейка
If EndWhile.value <> "" Then
'если нет то выбираем для проверки следующую
Set EndWhile = EndWhile.Offset(1,0)
Else
'если да, то что-то там ей присваиваем и переходим к следующей ячейке
EndWhile.Value = "что-то там"
Set EndWhile = EndWhile.Offset(1,0)
End If
Loop
...А вообще если задумались писать макросы, то для начала возьмитесь за учебник, для совсем новичка очень неплох Уокенбах
Delirium
24-08-2010, 15:01
RUVATA, к чему ваше последнее сообщение, дублирующее 69 сообщение (http://forum.oszone.net/post-1470098-69.html) ? Если предлагаете решение проблемы, озвучивайте хотя бы вкратце просьбы, иначе непонятно, к чему относить текст.
извиняюсь... :o
э-т ответ на #10...
я че-т проглазел, что тут ужо 8 страниц...
гость недавний... уж прощайте
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.