копирование со здвигом

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

привет! возникла у меня еще одна идейка в упрощении своей роботы но не знаю на сколько это реально сделать.... :confused:

вопрос такой:

можно ли скопировать с таблицы например два первых столбца и четвертый пропуская третий а вставить их соответственно в первый и второй столбец а четвертый в пятый столбец пропуская два столбца :rolleyes: вот такой замут...
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Код: Выделить всё

Sub CopyCols()
    Sheets("Лист1").Columns("A:B").Copy
    Sheets("Лист2").Range("A1").Select()
    ActiveSheet.Paste
    Sheets("Лист1").Select
    Sheets("Лист1").Columns("D :D ").Copy
    Sheets("Лист2").Range("E1").Select
    ActiveSheet.Paste
    Sheets("Лист2").Range("A1").Select()
End Sub
, или ты про аксес?
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

сам механизм понятен... теперь буду пробовать реализовать его под свои нужды... с созданием разных переменных ;) спасибо!!!
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Это самый тупой и дряной способ. Лучше циклом и без буфера.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
angej
Сообщения: 13
Зарегистрирован: 25 сен 2008, 15:32

буду конечно пробовать сделать в цыкле... я так понимаю сдесь нужно делать два цыкла или можно как-то управиться одним? и еще, что значит без буфера :confused:
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Одним. В теле три присавивания ячеек ячейкам.
Примерно так:

Код: Выделить всё

Sub CopyClos
 dim i as integer
 for i=1 to 65536 step 1
  Sheets("Лист2").Cells(i,1)=Sheets("Лист1").Cells(i,1)
  Sheets("Лист2").Cells(i,2)=Sheets("Лист1").Cells(i,2)
  Sheets("Лист2").Cells(i,5)=Sheets("Лист1").Cells(i,4)
 next i
end sub
Этот вариант тоже, возможно, не лучший. А без буфера - это без буфера обмена. То есть без paste/copy.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
PataFromOzz
Сообщения: 1
Зарегистрирован: 28 окт 2009, 14:42

Для копирования файла, на delphi нужно использовать "CopyFile", где конкретно нужно указывать какой файл нужно копировать.
Но мне нужно скопировать все файлы, которые находятся на флешке
Может у кого-нибудь есть такой исходник?
Аватара пользователя
VictorM
Сообщения: 794
Зарегистрирован: 23 окт 2006, 01:44
Откуда: Lugansk, Ukraine
Контактная информация:

PataFromOzz вообще-то это несколько не по теме))
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
Ответить