Прехвърляне към съдържание


Снимка

VBA excel - Conditional Formating в 1-та свободна колона


  • Моля, влезте, за да отговорите
3 отговора по тази тема

#1 Vanka

Vanka

    Потребител

  • Потребители
  • ПипПипПипПипПипПип
  • 55 мнения

Публикувано: 07 September 2015 - 14:36

Здравейте,
 
Имам данни в ексел до колона AJ и ред 6000. Това което се опитвам да направя във VBA excel е да въведа Conditional Formating във 2-та клетка на 1-та свободна колона (в случая това е AK2), после да го копирам до ред 6000. Проблема е, че броя на колоните и редовете постоянно ще се променят, затова искам да работи независимо от техния брой и да се копира точно до реда, до който има данни. Във всички колони може да има празни клетки с изключение на колона А.

Това, което имам аз е следното:

 

 With ActiveSheet
     LastCell = .Range("A1").End(xlDown).Row
    
    .Range("A1").End(xlToRight).Cells(2, 2).Copy
    .Range("AK2:AK" & LastCell).Select  
    .Paste
End With
 
Това, което искам е да заменя "AK2:AK" с 2-та клетка на 1-та свободна колона, без значение коя е тя, но не успявам. Conditional Formating-а се въвежда от друго макро, както и името на новата колона.


#2 naskobk

naskobk

    Потребител

  • Потребители
  • ПипПипПипПипПипПип
  • 179 мнения
  • Пол:Мъж

Публикувано: 07 September 2015 - 16:27

Здрасти, ако можеш прикачи примерен файл с макроса,

за да се ориентирам по лесно и ще ти го върна работещ......       


Помощни програми за обработка на Данни в Ексел - http://infosoftbg.eu Не слушай какво ти говорят, а гледай какво правят - По делата им ще ги познаете.

 

 

Win Free Litecoins every day! Every week free withdraw

 
 
 

#3 naskobk

naskobk

    Потребител

  • Потребители
  • ПипПипПипПипПипПип
  • 179 мнения
  • Пол:Мъж

Публикувано: 07 September 2015 - 19:54

Пробвай този макрос:

Sub run_macro()
 With ActiveSheet
     LastCell = .Range("A1").End(xlDown).Row
    
    .Range("A1").End(xlToRight).Cells(2, 2).Copy
    .Range("A1").End(xlToRight).Cells(2, 3).Select
    ActiveSheet.Paste
   Range("A1").SpecialCells(xlCellTypeLastCell).Select
.Range(Selection, Selection.End(xlUp)).Select
ActiveSheet.Paste      
End With
 End Sub

Тук всичко се копира във втората клетка на 1вата свободна колона без значение коя е тя.


Помощни програми за обработка на Данни в Ексел - http://infosoftbg.eu Не слушай какво ти говорят, а гледай какво правят - По делата им ще ги познаете.

 

 

Win Free Litecoins every day! Every week free withdraw

 
 
 

#4 Vanka

Vanka

    Потребител

  • Потребители
  • ПипПипПипПипПипПип
  • 55 мнения

Публикувано: 08 September 2015 - 14:49

Приятел,

Благодаря ти много, свърши ми страхотна работа ;)






0 потребители четат тази тема

0 регистрирани потребители, 0 гости и 0 анонимни потребители