|
Тема
|
kopirane na redove otgovaryashti na dadeni usloviy
|
|
Автор |
teoiva (непознат) |
Публикувано | 14.05.08 14:49 |
|
Здр,
Имам един файл с 3 листа
Лист 1/sheet1/ = таблица с данни
Лист 2/sheet2/
Лист 3/sheet3/
Та искането ми е следното; как чрез макро би могло да се получи следното:
В лист 2 да се копират редовете от лист 1, но само тези в които на колона B няма данни. А в лист 3 искам обратното да се копират редовете от лист 1 но само тези който имат данни в колона B
T.е
Лист 1/sheet1/ = A1=”neshto si” B1=”neshto si” C1=”neshto si “ в този случай този ред да бъде копиран в Лист 3/sheet3/
Лист 1/sheet1/ = A2=”neshto si” B2=”” C2=”neshto si “ в този случай този ред да бъде копиран в Лист 2/sheet2/
Надявам се че ще ме разберете
Предварително благодаря
| |
Тема
|
Re: kopirane na redove otgovaryashti na dadeni usloviy
[re: teoiva]
|
|
Автор |
Бypaн (ентусиаст) |
Публикувано | 15.05.08 09:22 |
|
Това някаква процедура, която ще се повтаря много много често ли е.
Защото би могло да стане и без макрос, с филтър. Ако те интересува как - пиши да обяснявам. Макрос не ми се пише, макар че няма да е сложно
| |
Тема
|
Re: kopirane na redove otgovaryashti na dadeni usloviy
[re: Бypaн]
|
|
Автор |
teoiva (непознат) |
Публикувано | 15.05.08 18:31 |
|
Да, определено ще се повтаря много често
Моля за помощ
| |
Тема
|
Re: kopirane na redove otgovaryashti na dadeni usl
[re: teoiva]
|
|
Автор |
Бypaн (ентусиаст) |
Публикувано | 15.05.08 19:50 |
|
Това би трябвало да ти свърши работа, макар че може много да се подобрява. Например да проверява дали съществуват листове с такива имена, дали има някакви данни на втория и третия лист, за да не се припокрие или омаже нещо и т.н.
Public Sub MyCopy()
brow = 1
crow = 1
Worksheets("Sheet1").Activate
endrow = Range("A65536").End(xlUp).Row
For arow = 1 To endrow
If Worksheets("Sheet1").Cells(arow, 2) = "" Then
Worksheets("Sheet1").Rows(arow).Copy
Worksheets("Sheet2").Activate
Cells(brow, 1).Activate
ActiveSheet.Paste
Cells(1, 1).Activate
brow = brow + 1
Else
Worksheets("Sheet1").Rows(arow).Copy
Worksheets("Sheet3").Activate
Cells(crow, 1).Activate
ActiveSheet.Paste
Cells(1, 1).Activate
crow = crow + 1
End If
Next arow
End Sub
| |
|
|
|
|