Здравейте,
Захванал съм се с една сложна за мен задача, но за повечето от вас доста елементарна надявам се.
Та втпросът ми е следният:
Искам да сортирам и копирам данни по предварително зададен признак (текст) от един Sheet (Sheet2) в друг (Sheet3), с помощта на бутон, който се намира в Sheet1. Стойността, по която ще се извърва сортирането е зададена с ComboBox.
т.е имам набор от данни съхранявани в Sheet2 (населено място, община, област). Искам когато кликна върху бутона за сортиране в Sheet1, всички съвпадения по предварително зададения признак да бъдат копирани заедно със целия ред и записани на точно определено място в Sheet 3 - примерно като начало на записа да се зададе C3.
Това е кода който използвах, но имам два проблема:
1. Кода сработва единствено когато бутона е инсталиран на листа с данни (Sheet2)
2. Данните се записват в Sheet3 единствено от клетка А1 (дава ми грешка когато се опитам да променя адреса на клетката).
Етого и кода:
Private Sub CommandButton1_Click()
Dim startRa As Range
Dim endRa As Range
Dim DataRowNum As Integer, SheetRowNum As Integer
Range("A1").Select
Cells.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Set startRa = ActiveCell
Do
Set endRa = ActiveCell
Cells.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Loop While ActiveCell.Row = endRa.Row + 1
Rows(startRa.Row & ":" & endRa.Row).Select
Selection.Copy Destination:=Sheet3.Range("a65536").End(xlUp).Offset(1, 0)
End Sub
Ще ви бъда много благодарен , ако някой успее да ни помогне