Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 22.10.2008, 15:27   #1
gege
 
Регистрация: 21.10.2008
Сообщений: 6
По умолчанию Вопрос о копировании ячеек с данными

Граждане, вот такой вопрос родился:
Можно ли в макросе сделать так, чтоб при копировании ячеек в столбце в новую книгу копировались только ячейки с данными?
Т.е. не самому задавать диапазон ячеек, которые нужно скопировать, а программно перебирать ячейки в столбце, и если ячейка окажется пустой, то копирование прекращалось.
Вот.
gege вне форума
Старый 27.10.2008, 09:22   #2
Saladin
Пользователь
 
Аватар для Saladin
 
Регистрация: 27.10.2008
Сообщений: 23
По умолчанию

да легко!
можно выделить в столбце всё ячейки до пустой например так:
range("a1:a"&range("a1").end(xldown ).row).select.

либо сначала вычеслить последнюю пустую ячейку:

x = 1
Do While Range("A" & x) <> ""
x = x + 1
Loop

и только затем выделить:
range("a1:a" & x - 1 ).select
Saladin вне форума
Старый 27.10.2008, 09:49   #3
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Необходимо заметить, что предложенные способы будут корректно работать только тогда, когда ячейка "A1" не пуста. Т.е. либо нужно это знать, либо предварительно определять - с какой ячейки начинать.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 27.10.2008, 18:45   #4
Rom1k06
Форумчанин
 
Регистрация: 30.07.2008
Сообщений: 125
По умолчанию

а если перебать все непустые ячейки в столбце до первой не пустой или все.
For i = 1 To Sheets("Лист1").Cells(Sheets("Лист1 ").Rows.Count, "A").End(xlUp).Row
if ="" then exit sub
x = 1
Do While .cells(x,1) <> ""
x = x + 1
Loop
Sheets("Лист2").cells(i,1)=Sheets(" Лист1").cells(x.1)

Если я неправ то поправьте меня плиз.
Rom1k06 вне форума
Старый 11.11.2008, 09:29   #5
SerArtur
Пользователь
 
Аватар для SerArtur
 
Регистрация: 08.11.2008
Сообщений: 10
По умолчанию

Копирует книгу с листом - 1
Private Sub CommandButton1_Click()
With Workbooks.Add(xlWBATWorksheet)
Me.Cells.Copy Destination:=.Worksheets(1).Cells
End With
End Sub
А вот прикольный макрос
создай книгу в D:\Account\TOTAL.xls

Private Sub CommandButton1_Click()
iFileName$ = "D:\Account\TOTAL.xls с назжанием листа - 1

If Dir(iFileName$) <> "" Then
With Application
.ScreenUpdating = False
With .Workbooks.Open(Filename:=iFileName $)
.Worksheets(1).Range("A1:A700").Val ue = Workbooks("Big Book.xls").Worksheets("Big Book").Range("A1:A700").Value
.Worksheets(1).Range("B1:B700").Val ue = Workbooks("Big Book.xls").Worksheets("Big Book").Range("B1:B700").Value
.Worksheets(1).Range("F1:F700").Val ue = Workbooks("Big Book.xls").Worksheets("Big Book").Range("C1:C700").Value
.Worksheets(1).Range("G1:G700").Val ue = Workbooks("Big Book.xls").Worksheets("Big Book").Range("D1:D700").Value

.Close saveChanges:=True
End With
.ScreenUpdating = True
End With
Else
MsgBox "Gotow"
End If

End Sub
SerArtur вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
непонятки с данными KiSH333 БД в Delphi 5 01.09.2008 08:36
Ошибка при копировании столбца в Excel! antonchik Microsoft Office Excel 1 29.07.2008 07:48
Файл с данными werser БД в Delphi 1 24.05.2008 23:40
как разбить таблицу при копировании StasSv Microsoft Office Excel 3 11.02.2008 10:23
пробема кодировки при копировании текса через буф.обмена выдает иероглифы! Linx Общие вопросы Delphi 3 29.05.2007 23:12