powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Глюк Range(Cells(a,b))
5 сообщений из 5, страница 1 из 1
Глюк Range(Cells(a,b))
    #33875686
Alexandr New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот такой кусок кода...
Код: 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
Глюк Range(Cells(a,b))
    #33875718
LeonM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте xlsheet.Cells(5, 1).Range.CopyFromRecordset RS1 вместо
xlSheet.Range(xlsheet.Cells(5, 1)).CopyFromRecordset RS1
...
Рейтинг: 0 / 0
Глюк Range(Cells(a,b))
    #33876142
Alexandr New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От перестановки только текст сообщения об ошибке меняется, впрочем, как и следовало ожидать...

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

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


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