|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
Что то затупил я с этим Ехелем. Задача. Есть постоянная колонка {А300} данных в ней 300 ячеек с ****** знаками и имеется колонка {B*} в которую я вставляю некое количество ячеек с такими же ****** знаками, но их меньше или равно количеству в колонке (А). Если количество равное - ОК! Если разное, то эту разницу вывести в колонку (С*) И все! Знатоки помогите! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2004, 03:18 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
не понял...Тебе нужна формула или программно??? Попробую телепатировать... Если формула: Вариант1: Если есть число в столбце А, и есть в столбце В - то все ОК! Если есть в столбце А, и нет в столбце В -то в столбце С должно быть значение Столбца А. Тогда в столбце С надо написать формулу : =ЕСЛИ(СЧЁТ(A1;B1)=2;"";A1) и протянуть её до А301 Вариант2: Если есть число в столбце А, и есть в столбце В - то все ОК! Если есть в столбце А, и нет в столбце В -то в столбце С должно быть разница кол-ва значений. Тогда в столбце С надо написать формулу : [b=ЕСЛИ(СЧЁТ(A1;B1)=2;"";СЧЁТ(A1)) и протянуть её до А301 Вообще, почетче сформулируй задачу... Stepler (щёлк-щёлк!!) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2004, 09:34 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
Продолжение телепатирования... А может Вариант3: Если есть число в столбце А, и есть в столбце В - то все ОК! Если есть в столбце А, и нет в столбце В -то в столбце С должно быть разница кол-ва знаков столбцов А и В. Тогда в столбце С надо написать формулу : [b=ЕСЛИ(ДЛСТР(A1)-ДЛСТР(B1)=0;"";ПРАВСИМВ(A1;ДЛСТР(A1)-ДЛСТР(B1))) и протянуть её до А301 Stepler (щёлк-щёлк!!) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2004, 10:01 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
Поясняю Дык в колонке (В) значения могут быть не равны к примеру А1 [1] =B1[1] А2 [2]=B2[6] А3 [3]=B3[9] ........ А300 [299]=B299[0] А300 [300]=B300[0] То есть в колонке (В) количество ячеек меньше 300 и они сдвинуты вверх! Если бы оставались пустые B2 и B3! Но колонка не имеет пробелов. Можно так объяснить. Есть две колонки (А1;A300) и (В1; ) < or =300 мне нужно убрать одинаковые значения из колонок. И остается список значений, которых нет в колонке (А) A B C 1 2 1 2 3 4 3 6 5 4 7 9 5 8 10 6 11 7 12 8 9 10 11 12 Вот! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2004, 14:28 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
Shaggy_FishПоясняю Дык в колонке (В) значения могут быть не равны к примеру А1 [1] =B1[1] А2 [2]=B2[6] А3 [3]=B3[9] ........ А300 [299]=B299[0] А300 [300]=B300[0] То есть в колонке (В) количество ячеек меньше 300 и они сдвинуты вверх! Если бы оставались пустые B2 и B3! Но колонка не имеет пробелов. Можно так объяснить. Есть две колонки (А1;A300) и (В1; ) < or =300 мне нужно убрать одинаковые значения из колонок. И остается список значений, которых нет в колонке (B) A B C 1 2 1 2 3 4 3 6 5 4 7 9 5 8 10 6 11 7 12 8 9 10 11 12 Вот! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2004, 14:44 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
И остается список значений, которых нет в колонке (B) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2004, 14:45 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
Вот два варианта, но оба что-то не работают Код: Private Sub A_B_C() Dim N, Na, ia, Nb, ib, Nc As Integer Dim flag As Boolean With Лист1 'считаем непустых ячеек в столбце A Na = 0 While (.Cells(Na + 1, 1)) Na = Na + 1 Wend 'считаем непустых ячеек в столбце B Nb = 0 While (.Cells(Nb + 1, 2)) Nb = Nb + 1 Wend 'Na,Nb - длина столбцов Nc = 0 ' 'перебираем все элементы столбца A For ia = 1 To Na 'проверяем - есть ли элемент в столбце B flag = True For ib = 1 To Nb 'проверяем на совпадение If .Cells(ia, 1) = .Cells(ib, 2) Then ib = Nb flag = False 'совпал - обламываем End If Next ib 'проверяем надо ли добавить в столбэц C If flag Then Nc = Nc + 1 .Cells(Nc, 3) = .Cells(ia, 1) End If Next ia End With 'Nc - длина столбца C End Sub =ЕСЛИ(ЕОШИБКА(НАИМЕНЬШИЙ(ЕСЛИ(ЕСЛИ(ЕСЛИ(СЧЁТЕСЛИ(изменяемый;постоянный)>0;постоянный;0)=0;постоянный;0)>0;ЕСЛИ(ЕСЛИ(СЧЁТЕСЛИ(изменяемый;постоянный)>0;постоянный;0)=0;постоянный;0);"");СТРОКА(Лист1!$Z1:$Z31)));"";НАИМЕНЬШИЙ(ЕСЛИ(ЕСЛИ(ЕСЛИ(СЧЁТЕСЛИ(изменяемый;постоянный)>0;постоянный;0)=0; постоянный;0)>0;ЕСЛИ(ЕСЛИ(СЧЁТЕСЛИ(изменяемый;постоянный)>0;постоянный;0)=0;постоянный;0);"");СТРОКА(Лист1!$Z1:$Z31))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2004, 01:57 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
в ячейке С1 =ЕСЛИ(ЕОШИБКА(ВПР(B1;$A1:A31;1));ЕСЛИ(ПРОСМОТР(A1;B1:B31)=A1;"";A1);"") Stepler (щёлк-щёлк!!) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2004, 12:17 |
|
Как макру написать для Exel 2000
|
|||
---|---|---|---|
#18+
Вот это работает! Код: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Всем спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2004, 15:41 |
|
|
start [/forum/topic.php?fid=61&msg=32603068&tid=2186723]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 279ms |
0 / 0 |