| 
                   Тема
                    | 
                     как да намеря 
 | 
 
 |  
| Автор | 
Bai Onzi (непознат
) |  
| Публикувано | 05.12.08 20:28 |  
             | 
           | 
            
           
  Здравейте!
 трябва ми едно макросче което да прави следното:
 
 като го закача на един бутон примерно да намери последния ред със запис
 в дадена колона да речем "А" и да направи записа на следващия ред от същата колона..ами това е...
 Благодаря Ви предварително
  
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  For i = 65535 To 1 Step -1
   If Range("A" + CStr(i)) <> "" Then Exit For
 Next
 Range("A" + CStr(i + 1)) = "this"
 
 пп добави и проверка, ако има нещо написано на ред 65536 
 
  
 Can you keep a secret?
 Oh, indeed. Indeed!
 So can I.Редактирано от Tony Stewart на 06.12.08 10:57. 
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  Tony Stewart   Благодаря отново
 нещата санаха от раз....
 
 а бе не е кой знай колко сложно ама аз още съм в началото и синтаксиса
 ми е голям проблем....
 Приятен ден....
 
 Редактирано от Bai Onzi на 06.12.08 11:46. 
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  Да ама сега се получи друг проблем..пускам целия код за да стане по-ясно
 
 If Target.Column = 10 Then
 Range("C" & Target.Row) = Range("C" & Target.Row) - Range(Target.Address)
 
 
 For i = 50 To 1 Step -1
 If Range("E" + CStr(i)) <> "" Then Exit For
 Next
 Range("E" + CStr(i + 1)) = MyDate
 
 Въпроса е че какъв то и клавиш да натисна цикъла се изпълнява
 а на мене ми трябва само когато е положително число
 а сега дори и клавиша "delete" да натисна пак ми се изписва датата
  
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  преди или в цикъла, не разбрах кое трябва да е положително
 if което_там_трябва_да_е_положително_число < 0 then exit sub
 
  
 Can you keep a secret?
 Oh, indeed. Indeed!
 So can I.
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  ами според скрипта както съм го написал когато напиша число в колонка 10
 независимо на кой ред, в колонка "Е" да се изписва датата.
 до тук това работи, хо когато напиша буква или какъвто и да е символ
 в колонка "Е" пак ми изписва датата
 идеята ми е следната: 
 датата да се изписва само когато в колонка 10 пиша положително число
 
 а в момента дори когато изтрия клетка от колонка 10 в колонка "Е" пак ми изписва датата..ами това е...дано си ме разбрал
  
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  оправи се....If Range("C" & Target.Row) < 0 Then Exit Sub ....
 
 да те попитам мждъ другото дали има вмесо това "<0"  някаква запазена 
 дума за указване дали е число или буква или...нещо друго от рода на
 "чар,интегер...."
 защото така като е написано "<0"ако изтрия клетката с "delete" пак го приема
 за вярно като положително число
 Благодаря много...
 
 Редактирано от Bai Onzi на 06.12.08 13:22. 
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  v =   Range("C" & Target.Row)
 If  v = "" Or Not IsNumeric(v) Or v < 0 Then ...
 
  
 Can you keep a secret?
 Oh, indeed. Indeed!
 So can I.
 
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  Много,много благодаря.....вероятно в бъдеще ще се ползвам
 пак от услугите ти...
 
 пък ако наминеш някой път към Родопите може и да почерпя.......
  
           
  
             | 
 | 
           
             | 
               
                | 
           | 
            
           
  Вместо да въртиш цикъла с 65536 повторения използвай това
 
 i=Range("A65536").End(xlUp).Row
 
 i ще бъде последния ред в колона А
 
 Редактирано от Бypaн на 06.12.08 16:13. 
           
  
             | 
 |