Выборка рабочего листа, блок With - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Помогите решить проблему в коде. С помощью данного кода происходит сдача книги в библиотеке. В таблице "Архив" создается отчет о сдаче книги, а в таблице "Библиотека" к нужной книге прибавляется количество +1. Код вроде бы работает как нужно, но проблема в том, что не смотря на установленные блоки With, программа работает только если активным листом установлен "Архив", если другой, то работает не так. Возможно я блоки использую неправильно, не знаю.. Буду презнателен, если поможите решить данную проблему )

Решение задачи: «Выборка рабочего листа, блок With»

textual
Листинг программы
...
 
With ThisWorkbook.Worksheets("Архив")     'Первый блок
     Set rsd = .Range(.[A2], .[A65536].End(xlUp))
     
     c = .[N6].Value
     'Зачем изначально дёргать эту ячейку в цикле, если её значение, всё равно не меняется ?
     
     b = TextBox2.Text
     'Если текст, то String, если число, то Double и Val(TextBox2.Text)
     'и в дальнейшем, вместо TextBox2 , просто использовать b
     
     If rsd.Find(c, , xlFormulas, xlWhole) Is Nothing Then
        MsgBox "Вы долгов не имеете!"
     Else
         For Each sd In rsd
             a = sd.Offset(0, 5).Value - .[L2].Value
             ...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5
Похожие ответы