Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 10:21 17.06.24 
Компютри и Интернет
   >> Електронни таблици
Всички теми Следваща тема *Кратък преглед

Тема търсене на нулеви и отрицателни стойности  
Автор metamorphosis (новак)
Публикувано20.01.16 21:16



Здравейте!
В sheets1 в колона "А" (от "А1" до "А10") имам списък с имена на хора, а в колона "B"(от "B1" до "B10") срещу всяко име има стойност - нулева или отрицателна или положителна. Въпросът ми е как в sheet2 в колона "А1" до " А10" да отпечатам само имената на хората срешу които стойността е отрицателна или нулева?
Благодаря!



Тема Re: търсене на нулеви и отрицателни стойностинови [re: metamorphosis]  
Автор BatiGogo ()
Публикувано21.01.16 08:22



Какво означава "да отпечатам"? Да излезе на принтера или да се пренесат само определени клетки от единия на другия лист?
1.Ако трябва да се пренесат само клетките, то как да отидат на лист2 - да има ли празно място между редовете (там където не отговаря условието?
например:
в ЛИСТ1
-2 ИВАН
1 ДРАГАН
3 ПЕТЪР
-1 АСЕН
във втория ист какво трябва да има?

ИВАН
АСЕН

(без празни редове между тях)
или

ИВАН


АСЕН

(с 2 празни редамежду тях)?

2.В кой момент трябва да отидат имената на лист2?
-при всяка промяна на клетка от лист1?
-при натискане на опредделен бутон нейде
-при отваряне на файла?
-при активиране на лист2?
-.....

3.В лист1 възможно ли е да има празен ред между списъка? Може ли например да има информация само на ред 1 и ред 7?



Тема Re: търсене на нулеви и отрицателни стойностинови [re: BatiGogo]  
Автор metamorphosis (новак)
Публикувано21.01.16 19:09



Здравейте!

Идеята е следната в лист 2 да се прехвърлят имената само на тези, на които стойността е по-големи от нула
Пример:

1. Иван 5
2. Георги 0
3. Димитър 4

Ето кода който написах...

Private Sub Worksheet_Activate()

For k = 22 To 57
For i = 18 To 57

If (Sheets("Лист1").Cells(k, 38).Value > 0) Then
Sheets("Лист2").Cells(i, 2) = Sheets("Лист1").Cells(k, 2)

End If
k = k + 1
Next i, k

End Sub

Но проблема е, че прехвърля имената в лист2 на позицията, на която са в лист 1 а, аз бих искал да ги пренася един под друг(да не остават празни редове между имената). Пример:
1. Иван 5
2. Георги 0
3. Димитър 4

-На първия ред ще прехвърли Иван;
-на втория ред ще пропусне, тъй като стойността на Георги е нула
-на третия ред ще прехвърли Димитър.
И така ще се получат празни редове.
Благоддаря!
<P ID="edit"><FONT class="small"><EM>Редактирано от metamorphosis на 21.01.16 19:12.</EM></FONT></P><P ID="edit"><FONT class="small"><EM>Редактирано от metamorphosis на 21.01.16 19:35.</EM></FONT></P>

Редактирано от metamorphosis на 21.01.16 19:36.



Тема Re: търсене на нулеви и отрицателни стойностинови [re: metamorphosis]  
Автор BatiGogo ()
Публикувано21.01.16 20:00



Не мога да разбера защо двата цикъла са ти от 22 до 57 и от 18 до 57, след като данните ти са в колоните от A1:B10 и B1:B10.
Разясни само това. Другата идея вече ми се изясни.
та ако данните са на колона 1 и 2 - в първите 10 реда, мога да предложа код:



Private Sub Worksheet_Activate()
Dim I As Integer, K As Integer, List1 As String
List1 = "Sheet1" 'ime na purvi list
For I = 1 To 10 'iztriva stari danni ako ima
Rows(1).Delete
Next I
K = 0
For I = 1 To 10
If Sheets(List1).Cells(I, 2).Value > 0 Then
K = K + 1
Cells(K, 1) = Sheets(List1).Cells(I, 1).Value
Cells(K, 2) = Sheets(List1).Cells(I, 2).Value
End If
Next I
End Sub






Тема Re: търсене на нулеви и отрицателни стойностинови [re: BatiGogo]  
Автор metamorphosis (новак)
Публикувано21.01.16 22:08



Единият цикъл 22 - 57 е за sheet1 , където от 22 ред до 57 ред е списъкът с имената, а цикълът от 18 - 57 е за sheet2, където от 18 ред до 57 ще прехвърлям имената, които отговарят на условието.
Затруднението ми се изразява в това, че не мога все още да го измисля, като как да прехвърлям имената едно под друго.

Редактирано от metamorphosis на 21.01.16 22:09.



Тема Re: търсене на нулеви и отрицателни стойностинови [re: metamorphosis]  
Автор BatiGogo ()
Публикувано21.01.16 22:28





Private Sub Worksheet_Activate()

Dim I As Integer, K As Integer, List1 As String
List1 = "Sheet1" 'ime na purvi list. promeni go kakto e pri tebe

For I = 18 To 57 'iztriva stari danni ako ima v list2
cells(i,1).value=""
cells(i,2).value=""
Next I

K = 17

For I = 22 To 57 'obhod na list1
If Sheets(List1).Cells(I, 2).Value > 0 Then
K = K + 1 'poreden red v list 2
Cells(K, 1) = Sheets(List1).Cells(I, 1).Value
Cells(K, 2) = Sheets(List1).Cells(I, 2).Value
End If
Next I

End Sub



Тази процедура е във втория лист и се изпълнява, когато се активира листа.
При мене върши работа. С офис пакет 2003 съм го тествал.

В първия лист имаш 57-18=39 реда макс.
А на втория си предвидил място 57-22=35 реда.
Трябва да предвидиш вариант ако всички от лист1 се прехвърлят в лист2. Да не вземе нещо да се сгъбяса с другите кутийки надолу , ако са запълнени с нещо друго.
А ако предклавиатурното устройство вземе, че въведе нещо на 58 ред? И други проверчици...Ти си знаеш заданието все пак....

Редактирано от BatiGogo на 21.01.16 22:36.



Тема Re: търсене на нулеви и отрицателни стойностинови [re: BatiGogo]  
Автор metamorphosis (новак)
Публикувано21.01.16 22:58



Много ти благодаря! Получи се страхотно!




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.