Подскажите что не так в коде VBA в Excel - страница 2

 

Можно конечно через цикл переносить таблицу поэлементно, можно выделить и копирнуть лист :

вот пример

Columns("A:G").Select
Range("G1").Activate
Selection.Cut

 
EvgeTrofi >>:
да. прошу прощения. Cells конечно
Function USER2()
Dim a As Double
a = Worksheets("Лист1").Cells(4, 1).Value
Worksheets("Лист3").Cells(4, 1) = a
'Dim i As Integer, j As Integer, icolumn As Integer, jrow As Integer
' icolumn = 13
' jrow = 24
'
' i = 1
' j = 1
' Do While i <= icolumn
'
' Do While j <= jrow
' a = Worksheets("Лист1").Cells(j, i).Value
' Worksheets("Лист3").Cells(j, i) = a
' j = j + 1
' Loop
' i = i + 1
' Loop
End Function

Сделал в цикле, не работает. Вывел присвоение для одной ячейки и что то не хочет. Не поможешь?

 
вот экселевский файл, делал для другого, но там есть парочка макросов где решал подобные проблемы разными методами думаю поможет - код простой. описание имеется
Файлы:
 
eugene771 писал(а) >>

Function USER2()
Dim a As Double
a = Worksheets("Лист1").Sells(1, 1).Value
Worksheets("Лист3").Sells(1, 1) = a
'Dim i As Integer, j As Integer, icolumn As Integer, jrow As Integer
' icolumn = 13
' jrow = 24
'
' i = 1
' j = 1
' Do While i <= icolumn
'
' Do While j <= jrow
' Worksheets("Лист3").Sells(j, i) = Worksheets("Лист1").Sells(j, i)
' j = j + 1
' Loop
' i = i + 1
' Loop
End Function

Сделал в цикле, не работает. Вывел присвоение для одной ячейки и что то не хочет. Не поможешь?

Надо наверно уже спать идти :)

не Sells, а Cells нужно писать

 
EvgeTrofi >>:

Надо наверно уже спать идти :)

не Sells, а Cells нужно писать

Да это точно, подредактировал, но что то не то у меня с операцией присвоения, не хочет даже одну ячейку присвоить другой.

 
eugene771 писал(а) >>

Да это точно, подредактировал, но что то не то у меня с операцией присвоения, не хочет даже одну ячейку присвоить другой.

запиши всё что ты делаешь и что не получается (какие ошибки вылетают и при каких действиях) с помощью видео захвата. я завтра посмотрю

Записывай с помощью программы Screen2exe (она бесплатная) http://www.screen-record.com/dl/SCREXESetup.exe

 

Вам надо выбрать или активировать нужный лист прежде чем переносить :

For x = 1 To 100
  For y = 1 To 100
   Sheets("Лист1").Select
   res = Cells(x, y)
   Sheets("Лист2").Select
   Cells(x, y).Value = res
  Next y
Next x
что вот так примерно
 
xrust писал(а) >>

Вам надо выбрать или активировать нужный лист прежде чем переносить :

что вот так примерно

не обязательно

такая структура тоже должна работать:

Dim a As Double
a = Worksheets("Лист1").Cells(1, 1).Value
Worksheets("Лист3").Cells(1, 1) = a
 
xrust >>:

Вам надо выбрать или активировать нужный лист прежде чем переносить :

что вот так примерно

Function USER2()
Dim a As Double
Sheets("Лист1").Select
a = Cells(4, 1)
Sheets("Лист3").Select
Cells(4, 1).Value = a
'Dim i As Integer, j As Integer, icolumn As Integer, jrow As Integer
' icolumn = 13
' jrow = 24
'
' i = 1
' j = 1
' Do While i <= icolumn
'
' Do While j <= jrow
' a = Worksheets("Лист1").Cells(j, i).Value
' Worksheets("Лист3").Cells(j, i) = a
' j = j + 1
' Loop
' i = i + 1
' Loop
End Function

Тут и без видеозахвата, все циклы вывел в коммменты и завел один элемент цикла в начале функции, а он не пашет.

 

какая ошибка? как выглядит? прикрепи свой Экселевский файл, на худой конец.... к сообщению то есть