как се прави
3 отговора
0 прегледа
как се прави
имам две колони (А) и (Б ). В колона (А) са записани ;СКЛАД1;СКЛАД3;СКЛАД4. В колона (Б) ;СКЛАД1;СКЛАД2;СКЛАД3;СКЛАД4;СКЛАД6. КАК МОЖЕ В КОЛОНА (Д) ДА СЕ ЗАПИШАТ САМО ДАННИТЕ ОТ КОЛОНА (Б) КОЙТО ГИ НЯМА В КОЛОНА (А) ИЛИ СКЛАД2;СКЛАД6 МОЖЕ И С МАКРОС БЛАГОДАРЯ ПРЕДВАРИТЕЛНО
Re: как се прави
Опитай това
Стартира се с макроса SearchAndCopy
Стартира се с макроса SearchAndCopy
Function IsOk(Data1 As String) As Boolean
Dim I As Integer
Dim R1, R2 As Range
Set R1 = Range("$Y$1")
Set R2 = Range("$Y$2")
R1.FormulaArray = "=MIN(IF(ISBLANK(R1C1:R65000C1),"""",ROW(R1C1:R65000C1)))"
R2.FormulaArray = "=MAX(IF(ISBLANK(R1C1:R65000C1),"""",ROW(R1C1:R65000C1)))"
IsOk = False
For I = R1.Value To R2.Value
If Data1 = Range("A" & I).Value Then
IsOk = True
Exit Function
End If
Next
End Function
Sub SearchAndCopy()
Dim J As Integer
Dim K As Boolean
Dim L As Integer
Dim RR1, RR2 As Range
Set RR1 = Range("$X$1")
Set RR2 = Range("$X$2")
RR1.FormulaArray = "=MIN(IF(ISBLANK(R1C2:R65000C2),"""",ROW(R1C2:R65000C2)))"
RR2.FormulaArray = "=MAX(IF(ISBLANK(R1C2:R65000C2),"""",ROW(R1C2:R65000C2)))"
L = RR1.Value
For J = RR1.Value To RR2.Value
If IsOk(Range("B" & J).Value) = False Then
Range("D" & L).Value = Range("B" & J).Value
L = L + 1
End If
Next
End Sub
Редактирано от TRN на
Re: как се прави
ДАНО НЕ Е НАХАЛНО .ИСКАМ ПОМОЩ И ЗА ОЩЕ ДВЕ НЕЩА . ИМАМ -UserForm1 СЪС -ComboBox1 НА КОЙТО -RowStorce е КОЛОНА ОТ ТАБЛИЦА .ИСКАМ- ComboBox1 ДА МИ ПОКАЗВА САМО УНИКАЛНИТЕ ЗАПИСИ (ИМАШЕ ГО НЯКАДЕ НО НЕ МОГА ДА ГО НАМЕРЯ).И ВТОРОТО :TextBox1 -ВЪВ -UserForm1 ДА СЕ ФОРМАТИРА ДА ПОКАЗВА (00000001) ИМАМ ЕДНО TextBox1.Value = Format(TextBox1.Value, "00000000000000000") НО ЗА ЕКСЕЛ 2007 НЕ СТАВА