Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Поиск с InputBox Добавлено: 04.12.03 00:11  

Автор вопроса:  Anry Deriabine

 Очень надеюсь на помощь!

Есть таблица с данными.Надо:Ввести в InputBox текст для поиска в первом столбце.Дальше вставить из второго столбца, найденной строки данные в другой лист. 

(Уже неделю бьюсь)

Ответить

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

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



Вопросов: 0
Ответов: 39
 Профиль | | #1 Добавлено: 04.12.03 10:50

Покажити Ваш код, потому как не понятно обo что бъемся.

Зачем InputBox, если можна сразу диалог поиска?

Попробуйте сделать так: Сервис - Макрос - Начать запись

Потом проделайте действия: Нажмите одновременно Сtrl+F, наберите что найти, и.т.д

Остановити запись макроса. То, что плучилось, с єтого и начнем.

Успехов dedolya

Ответить

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



ICQ: 239066283 

Вопросов: 0
Ответов: 8
 Web-сайт: www.rizo-gloom.narod.ru
 Профиль | | #2
Добавлено: 04.12.03 15:24
Пишли мне на мыло образцы.(фаил)
Возможно я смогу тебе помочь.
Я уже делал когда то такое.
r_2003_kr@mail.ru

Ответить

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



Вопросов: 14
Ответов: 29
 Профиль | | #3 Добавлено: 04.12.03 20:59

Sub Calculation()
Dim r As Object
Dim x As Long
Worksheets("Лист3").Activate
Range("A:C").Clear
Range("A:C").HorizontalAlignment = xlCenter
Columns("B:C").ColumnWidth = 20
ActiveSheet.Cells(1, 1) = "ФИО"
ActiveSheet.Cells(1, 2) = "Месяц"
ActiveSheet.Cells(1, 3) = "Зарплата"
j = 2
s = InputBox("Введи табельный номер")
Do While s <> ""
i = 1
For Each r In Worksheets("Лист1").Range("A:A").Cells
If (r.Value) = s Then
Worksheets("Лист3").Cells(j, 1) = Worksheets("Лист1").Cells(i, 2)

Worksheets("Ëèñò3").Cells(j, 3) = Worksheets("Ëèñò2").Cells(j, 2)-Worksheets("Ëèñò2").Cells(j, 3)
Else
x = x + 1
i = i + 1
End If
Next
j = j + 1
s = InputBox("Введи табельный номер")
Loop
End Sub

Почему это не работает?

Ответить

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



Вопросов: 0
Ответов: 39
 Профиль | | #4 Добавлено: 04.12.03 23:53

j = 2

Do

s = Val(InputBox("Введи табельный номер"))'таб ном число

For Each r In Worksheets("Лист1").Range("A:A").Cells

If (r.Value) = s Then

Worksheets("Лист3").Cells(j, 1) = r.Offset(, 1).Value

' другие операторы

Exit Sub

End If

Next

j = j + 1

Loop While s <> ""

Успехов dedtolya

Ответить

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



Вопросов: 14
Ответов: 29
 Профиль | | #5 Добавлено: 10.12.03 22:06
 А если введенное значение не будет найдено,то в заполняемом списке появляется пустая строка.Как можно это обойти здесь же не прописывая отдельно удаление пустых строк?

Ответить

Номер ответа: 6
Автор ответа:
 dedtolya



Вопросов: 0
Ответов: 39
 Профиль | | #6 Добавлено: 12.12.03 10:10

Option Explicit

Sub Find_Insert()

Dim s As String

Dim j As Long

Dim c As Range

j = 1

s = InputBox("Введи табельный номер")

Do While s <> ""

Set c = Worksheets("Лист1").Range("a1:a500") _

.Find(Val(s), LookIn:=xlValues, LookAt:=xlWhole)

If Not c Is Nothing Then

j = j + 1

Worksheets("Лист3").Cells(j, 1) = c.Offset(, 1).Value

' другие операторы

Else

MsgBox "Нет такого тоб. ном."

End If

s = InputBox("Введи табельный номер")

Loop

End Sub

dedtolya

Ответить

Страница: 1 |

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



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