Страница: 1 |
Страница: 1 |
Вопрос: Помогите чайнику создать макрос!!!
Добавлено: 05.10.06 16:28
Автор вопроса: bnova
Необходимо написать макрос, который выдает список всех непустых значений.
В Excel на Листе1 и Листе2 в столбцах находятся ячейки как с данными (есть повторяющиеся значения), так и пустые. На Листе3 нужно вывести список всех непустых значений с Листа1 и Листа2!
Подскажите, если кто знает, как это сделать!!!
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
Ramil
ICQ: 286597559
Вопросов: 13
Ответов: 25
Web-сайт:
Профиль | | #1
Добавлено: 09.10.06 10:15
Для активации ячеек где есть цыфры в листе эксел предлогаю вот это
Dim rng As Range
On Error Resume Next
If TypeOf Selection Is Range Then
If Selection.Cells.Count = 1 Then
ActiveSheet.UsedRange.SpecialCells( _
xlCellTypeConstants, xlNumbers).Select
Else
Selection.SpecialCells(xlCellTypeConstants, xlNumbers).Select
End If
End If
End Sub
а дальше я не понел.
как эксел сам может узнать, куда скопировать на листе3, данные из двух других лист
Номер ответа: 2
Автор ответа:
bi-lya
Вопросов: 1
Ответов: 125
Профиль | | #2
Добавлено: 09.10.06 18:33
Вообще-то конкретики не хватает. Данные, я понимаю, все равно в каком-то диапазоне на листе находятся (не весь же лист прочесывать), и каким образом должны ложиться "непустые" ячейки на 3 лист - в навал, что-ли, как придется или в определенный диапазон? А если предположить, что листы 1 и 2 заполнены больше чем на половину...короче, нужно это дело конкретизировать
Номер ответа: 3
Автор ответа:
angrynews
Вопросов: 33
Ответов: 119
Web-сайт:
Профиль | | #3
Добавлено: 10.10.06 10:37
они должны ложиться в последующуюю ячейку, однако, если у тебя два листа полностью забиты данными (а это возможно). то на третьем листе просто не хватит места под них
Номер ответа: 4
Автор ответа:
bnova
Вопросов: 1
Ответов: 3
Профиль | | #4
Добавлено: 10.10.06 10:47
Спасбо всем, кто ответил! Мне уже помогли! А вот что в итоге должно было получиться:
Dim SourceSheet1 As Worksheet
Dim SourceSheet2 As Worksheet
Dim ResSheet As Worksheet
Set SourceSheet1 = ActiveWorkbook.Worksheets("Лист1"
Set SourceSheet2 = ActiveWorkbook.Worksheets("Лист2"
Set ResSheet = ActiveWorkbook.Worksheets("Лист3"
nRows = SourceSheet1.Range("A1".SpecialCells(xlLastCell).Row
CurrJ = 1
For i = 1 To nRows
If SourceSheet1.Cells(i, 2) <> "" Then
ResSheet.Cells(CurrJ, 2) = SourceSheet1.Cells(i, 2)
CurrJ = CurrJ + 1
End If
Next i
nRows = SourceSheet2.Range("A1".SpecialCells(xlLastCell).Row
For i = 1 To nRows
If SourceSheet2.Cells(i, 2) <> "" Then
ResSheet.Cells(CurrJ, 2) = SourceSheet2.Cells(i, 2)
CurrJ = CurrJ + 1
End If
Next i
End Sub
Все гениально и просто!
Номер ответа: 5
Автор ответа:
Demаn
ICQ: 409503304
Вопросов: 6
Ответов: 18
Профиль | | #5
Добавлено: 07.11.06 09:58
Добрый вечер, день или ночь, кому как повезёт помогите пожалста =( , надо написать макрос, в листе экселя введены числа, при запуске макроса должно вылезать окно ввода значений от и до, вводишь диапозон и программа выделяет числа из выделенного диапозона(неважно как выделяет), но есть загвоздка, эти числа должны выделяться тока в выделенной мышкой области листа! Не дайте пропасть студенту, помогите ламеру!
Номер ответа: 6
Автор ответа:
Ramil
ICQ: 286597559
Вопросов: 13
Ответов: 25
Web-сайт:
Профиль | | #6
Добавлено: 07.11.06 11:00
Добрый день
Я очень хотел бы вам помочь, но я не полностью понял вас
Напишите подробно, что должен сделать для вас макрос.
Номер ответа: 7
Автор ответа:
Demаn
ICQ: 409503304
Вопросов: 6
Ответов: 18
Профиль | | #7
Добавлено: 07.11.06 16:18
Дан лист экселя, на нем в беспорядочном расположении находятся числа, макрос должен выделять эти числа в определённом отношении, тоесть должен задаваться диапозон, от какогото значения до какогото, тоесть в макросе ещё присутствует форма, эта часть не сложная я даже могу отправить её код, но загвоздка в том что эти числа он должен выделять, как угодно, но желательно цветом, в выделенной части экселя а не на всём листе( выделенная часть, тоесть когда ты выделяешь курсором правой кнопкой) вот таккая вот задачка.....
Номер ответа: 8
Автор ответа:
bnova
Вопросов: 1
Ответов: 3
Профиль | | #8
Добавлено: 07.11.06 16:27
Мальчики, дорогие, ну зачем же в моей темке-то писать!?????
Номер ответа: 9
Автор ответа:
Demаn
ICQ: 409503304
Вопросов: 6
Ответов: 18
Профиль | | #9
Добавлено: 07.11.06 16:29
дак я же тока немного пошалил, мне тоже ведь помощь нужна, пррояви сострадание, тут хороший человек помочь решил, не обламывай плиз)
Номер ответа: 10
Автор ответа:
bnova
Вопросов: 1
Ответов: 3
Профиль | | #10
Добавлено: 07.11.06 16:31
Ладно, проявлю! Успехов!
Номер ответа: 11
Автор ответа:
Demаn
ICQ: 409503304
Вопросов: 6
Ответов: 18
Профиль | | #11
Добавлено: 07.11.06 16:34
Пасибо!