Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Почему шестая строка? Добавлено: 06.04.05 23:40  

Автор вопроса:  Anry Deriabine
Есть немного кода (кто-то здесь подсказал)
Private Sub But_Click()
Dim c
Dim n
n = 0
For Each c In ActiveSheet.Columns(7).Cells
 If (Not (IsEmpty(c.Value))) Then
   If (IsNumeric(c.Value)) Then
    If (Not (c.Value = 0)) Then
  n = n + 1
    End If
   End If
 End If
Next c
Worksheets("Лист").Cells(n + 1, 7) = Box.Text
Worksheets("Лист").Cells(n + 1, 7).NumberFormat = "#,##0.00$"
Worksheets("Лист").Cells(n + 1, 8) = Now
Form.Hide
End Sub

При нажатии на кнопку должно вносится значение из TextBox'а в последнюю пустую ячейку 7 столбца.
Если столбец пустой, то соответственно в первуя ячейку.
А у меня почему-то столбец начинается с шестой ячейки.
Т.е. при пустом столбце первое значение вносится в G6.
Как с этим бороться?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Morpheus



Вопросов: 224
Ответов: 3777
 Web-сайт: xury.zx6.ru
 Профиль | | #1
Добавлено: 06.04.05 23:45
с этой штукой не реботал, но по-моему похожие глюки вылазят когда нумерация чего-то начинается с нуля а не с единицы

Ответить

Номер ответа: 2
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #2 Добавлено: 07.04.05 16:05
В сети очень много примеров определения последней ячейки, в том числе и без перебора всех 65536 ячеек в столбце.

А самое главное, что Ваш код, то это не определение последней ячейки в столбце, а подсчёт количества числовых значений, отличных от нуля, а это значит, что в Вашем столбце "G" имеется пять таких значений. При этом они могут располагаться в любых ячейках этого столбца.

Ответить

Номер ответа: 3
Автор ответа:
 Anry Deriabine



Вопросов: 14
Ответов: 29
 Профиль | | #3 Добавлено: 07.04.05 22:12
Точно! Как я сразу-то повнимательней не поглядел.
Вот, что значит спешка!
Спасибо.

To Morpheus
 Перебор с нуля, чтобы в первой строке вставлял значение.

Ответить

Номер ответа: 4
Автор ответа:
 ActiveX



Вопросов: 0
Ответов: 73
 Профиль | | #4 Добавлено: 07.04.05 22:39
- Festina lente

- На самом деле перебор начинается с самой первой ячейки столбца "G", а вот начальное значение "счётчика" действительно ноль, хотя строку n = 0 можно убрать, без всякого ущерба функциональности кода.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам