2016-02-03 4 views
-1

Я сбрасываю данные с одного листа на другой с помощью кода vba. Все ячейки правильно заполняются, за исключением 6 ячеек в начале. Фактически данные, которые мы заполняем в этих ячейках, но не видны до тех пор, пока Я дважды нажимаю на ячейки. Что происходит. Может кто-то помочь?Vba excel: невидимость, если данные в ячейках

+0

Друг сказал, что формат ячеек отличается. Как я могу вставить формат одной ячейки, в которой он отлично работает с этой ячейкой? – Sunaina

+0

** Помогите нам помочь вам; опубликуйте свой текущий код. ** –

+0

Эй, я только что получил свой код. Спасибо :) – Sunaina

ответ

0

Если вы обвиняете неверный формат у вас есть два варианта:

а) очистить формат ячейки назначения, например Worksheets("DestinationSheet").Range("A1:A6").ClearFormats, а затем скопируйте данные без форматирования

b) скопируйте формат из какой-либо ячейки, формат которой правильный, например. Worksheets("DestinationSheet").Range("B1").Copy Destination:=Worksheets("Sheet1").Range("A1:A6"), а затем скопируйте данные без форматирования (это означает, что вы сначала скопируете хороший формат, но не корректны данные, но затем в следующем действии вы собираетесь переписать неверные данные с хорошими данными)

Примечание 1: чтобы скопировать данные без форматирование, лучше использовать прямое назначение Worksheets("DestinationSheet").Range("A1:A61").Value = Worksheets("SourceSheet").Range("A1:A6").Value чем функции копирования

Примечание 2: на мой взгляд, это всегда лучше избегать использования Копировать & Вставить в две команды, потому что вы перепутали в системный буфер обмена, что опасно, по крайней мере. Представьте себе, что пользователь хочет использовать буфер обмена в другой программе одновременно с запуском макроса в Excel ... Насколько мне известно, функция копирования выше (без сопровождения вставки) не использует системный буфер обмена (пожалуйста кто-то поправьте меня, если я ошибаюсь)

Смежные вопросы