Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Глюк Range(Cells(a,b)) / 5 сообщений из 5, страница 1 из 1
25.07.2006, 10:17:26
    #33875686
Alexandr New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Range(Cells(a,b))
Вот такой кусок кода...
Код: plaintext
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.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Dim Connection As ADODB.Connection
Dim AdoCommand As ADODB.Command
Dim RS1 As ADODB.Recordset
Set Connection = New ADODB.Connection
   
Dim BeginRow As Integer
Dim BeginColumn As Integer
Dim FirstCell As String

Dim xlWorkBook As Workbook
Dim xlSheet As Worksheet

Set xlWorkBook = ThisWorkbook
Set xlSheet = xlWorkBook.Worksheets("Лист1")


Connection.ConnectionString = ....
Connection.Open

Set AdoCommand = New ADODB.Command
    AdoCommand.CommandTimeout =  120 

Set AdoCommand.ActiveConnection = Connection
    AdoCommand.CommandType = adCmdStoredProc
    AdoCommand.CommandText = "dbo._myProc"

    
    Set RS1 = AdoCommand.Execute

     xlSheet.Range("A5").CopyFromRecordset RS1 ' работает

     xlSheet.Range(xlsheet.Cells( 5 ,  1 )).CopyFromRecordset RS1 ' выдает ошибку: Method 'Range' of object '_WorkSheet' failed 

   ' Однако такая конструкция проходит на ура:
     xlSheet.Range(xlSheet.Cells( 5 ,  1 ), xlSheet.Cells( 15 ,  67 )).Value = "ku-ku"
   

End Sub

Но мне важно, чтобы можно было использовать переменные номера столбцов и строк... Есть какие-нибудь соображения?
...
Рейтинг: 0 / 0
25.07.2006, 10:23:34
    #33875718
LeonM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Range(Cells(a,b))
попробуйте xlsheet.Cells(5, 1).Range.CopyFromRecordset RS1 вместо
xlSheet.Range(xlsheet.Cells(5, 1)).CopyFromRecordset RS1
...
Рейтинг: 0 / 0
25.07.2006, 11:59:45
    #33876142
Alexandr New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Range(Cells(a,b))
От перестановки только текст сообщения об ошибке меняется, впрочем, как и следовало ожидать...

Run-time error 450
Wrong number of arguments or invalid property asignment
...
Рейтинг: 0 / 0
25.07.2006, 12:36:57
    #33876343
Alexandr New
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Range(Cells(a,b))
Не знаю, почему, но сработало следующее

Код: plaintext
1.
2.
Dim rng As Range
Set rng = xlSheet.Cells( 5 ,  1 )
rng.CopyFromRecordset RS1
...
Рейтинг: 0 / 0
25.07.2006, 18:16:09
    #33877788
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глюк Range(Cells(a,b))
Потому что Cells это сам по себе объект типа Range.
Код: plaintext
xlsheet.Cells( 5 ,  1 ).CopyFromRecordset RS1
И все.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Глюк Range(Cells(a,b)) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]