0 / 0 / 0
Регистрация: 13.05.2018
Сообщений: 86
1
Excel

Проверка наличия в строках столбца названия рабочей книги

13.06.2018, 23:43. Показов 1844. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, форумчане! Подскажите, что не так с кодом???
VBA
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit
 
Private Sub Worksheet_Deactivate()
Dim i As Integer
Dim ListObj As ListObject
Set ListObj = ThisWorkbook.Worksheets(" ").ListObjects(" ")
With ListObj
For i = 1 To 100
  If i = Worksheets(Name) Then
  
    Range(1, i) = Range("G4").Value
    Range(2, i) = Range("G6").Value
    Exit For
  End If
Next i
End With
 
End Sub
Методом проб и ошибок я пришел к этому, но больше идей нет

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Worksheet_Deactivate()
Dim N_a_m_e As Name
 
Dim i As Integer
Dim ListObj As ListObject
Set N_a_m_e = Name
Set ListObj = ThisWorkbook.Worksheets(" ").ListObjects(" ")
With ListObj
For i = 1 To 100
  If i = N_a_m_e Then
  
    .Range(1, i) = Range("G4").Value
    .Range(2, i) = Range("G6").Value
    Exit For
  End If
Next i
End With
 
End Sub
Макрос должен проверять наличие в строках столбца названия рабочей книги
После того, как он ее находит - записывает значения в соседние ячейки
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2018, 23:43
Ответы с готовыми решениями:

Найти итоги из всех листов другой книги и записать в факт для всех выделенных значений рабочей книги
Написал макрос для проверки итогов с фактом. Как запустить всё это по циклу? Чтоб отрабатывался для...

Проверка существования рабочей книги Excel
Добрый день. Привожу пример кода: procedure TForm1.btn1Click(Sender: TObject); var ...

Проверка наличия столбца в dataGridView
Доброго времени суток :) Ребята, никто не подскажет как проверить наличие столбца в dataGridView?...

Проверка наличия в ячейки значения из столбца
Вечер добрый. Собственно вопрос возник в том, что надо сравнить все ячейки из столбца "A" со...

7
35 / 35 / 9
Регистрация: 16.07.2012
Сообщений: 253
14.06.2018, 10:46 2
meledoor, Добрый день. Посмотрел Ваш код, много чего не понял, много чего вообще не нужного.
Исходя из информации в запросе, вот код который делает проверку в первом столбце. После того как нашел совпадение записывает во второй столбец.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_Deactivate()
Dim wn As String
Dim i As Integer
 
wn = ActiveWorkbook.Name
 
For i = 1 To 100
  If Cells(i, 1) = wn Then Cells(i, 2) = wn :  Exit For
Next i
 
End Sub
P.S. Еще раз повторюсь, написал исходя из запроса. Если нужны дополнительные условия, типа проверки более 1 столбца, пишите доделаем.
1
0 / 0 / 0
Регистрация: 13.05.2018
Сообщений: 86
14.06.2018, 15:46  [ТС] 3
zewsua, Спасибо за ответ!
События происходят на двух разных листах: Лист1 и Лист2
"Private Sub Worksheet_Deactivate()" находится в модуле первого листа
Вставка же должна производится в Умную таблицу "Задачи_tb", которая находится на втором листе
На первом листе есть две ячейки: "Тема" и "Дедлайн"
Именно их значения должны помещаться в таблицу
P.S Код писал в четыре утра, поэтому такая каша получилась
Вложения
Тип файла: rar Задачи.rar (27.5 Кб, 0 просмотров)
0
0 / 0 / 0
Регистрация: 13.05.2018
Сообщений: 86
14.06.2018, 19:37  [ТС] 4
zewsua, Как я понял здесь нужен массив
Изучаю массивы)
0
Эксперт MS Access
7395 / 4532 / 295
Регистрация: 12.08.2011
Сообщений: 14,015
15.06.2018, 04:57 5
Цитата Сообщение от meledoor Посмотреть сообщение
Dim i As Integer
Цитата Сообщение от meledoor Посмотреть сообщение
If i = N_a_m_e Then
это что за число такое?
0
0 / 0 / 0
Регистрация: 13.05.2018
Сообщений: 86
15.06.2018, 13:39  [ТС] 6
alvk,
Данный пример отражает наличие малого опыта в программировании, определенно!
По мимо этого
Цитата Сообщение от meledoor Посмотреть сообщение
P.S Код писал в четыре утра, поэтому такая каша получилась
Типы данных я изучу и больше не буду делать подобных ошибок

Если действительно хотите помочь, помогайте, а подобные замечания выглядят не совсем корректно, учитывая, опять же, плачевное состояние кода в целом
0
Эксперт MS Access
7395 / 4532 / 295
Регистрация: 12.08.2011
Сообщений: 14,015
15.06.2018, 14:43 7
Цитата Сообщение от meledoor Посмотреть сообщение
а подобные замечания выглядят не совсем корректно
а, понятно, ну так вы сразу напишите список корректных замечаний и не корректных, чтобы я заранее знал и не путался.
0
0 / 0 / 0
Регистрация: 13.05.2018
Сообщений: 86
15.06.2018, 18:55  [ТС] 8
zewsua, alvk, У меня получилось!
Поковырялся по-дольше со свежей головой и удалось разобраться

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Option Explicit
 
Public ShGeneral As Worksheet
Public ShObj As Range
 
Public Sub Tabl_Tasks()
 
Dim t As String
Dim i As Integer
 
Set ShGeneral = ThisWorkbook.Worksheets("Разработчик")
Set ShObj = ShGeneral.Range("Задачи_tb")
 
wn = ActiveSheet.Name
u = ActiveSheet.Range("G4").Value
o = ActiveSheet.Range("G6").Value
 
    With ShObj
       For i = 1 To 100
           If .Cells(i, 3) = wn Then .Cells(i, 2) = u: .Cells(i, 1) = o: Exit For
       Next i
            
    End With
 
End Sub
0
15.06.2018, 18:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.06.2018, 18:55
Помогаю со студенческими работами здесь

Проверка наличия на диске в указанном каталоге файла Numbers.txt, содержащего 2 столбца целых чисел
Проверка наличия на диске в каталоге, указанном первым параметром КФ, файла Numbers.txt,...

Проверка наличия шрифта в системе и установить если отсуствует + проверка запущен ли проект с правами админа
Здравствуйте. Как можно проверить наличия шрифта в системе и установить его если отсуствует. Ну...

Макрос на все листы рабочей книги
Как сделать чтобы макрос виполнялся на всех листах рабочей книги одновременно?

Активация макроса закрытой рабочей книги
В некой директории хранится файл function.xls. Как в данной директории создать файл для активации...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru