Копирование данных из ячейки одного листа на другой с условием - VBA
Формулировка задачи:
Копирование данных из ячейки одного листа на другой с условием
На листе 1 в ячейках B4: ...
ОТКАЗ - 306002
3 - 306000
1 - 306001
5 - 306001
...
Необходимо условие чтобы извлекалась первое слово из ячейки и приравнивалось к условию
ОТКАЗ=9, 1=5, 5=3
На листе 2 в ячейках G4 : ... должно получаться
9
5
3
Решение задачи: «Копирование данных из ячейки одного листа на другой с условием»
textual
Листинг программы
- Option Explicit
- Sub tt()
- Dim a, i As Long, arr, t As String, col As New Collection
- With CreateObject("scripting.dictionary"): .comparemode = 1
- .Item("ОТКАЗ") = 9
- .Item("1") = 5
- .Item("5") = 3
- a = Sheets(1).[b4].CurrentRegion.Value
- For i = 1 To UBound(a)
- arr = Split(a(i, 1), " - ")
- If UBound(arr) = 1 Then
- t = Trim(arr(0)): If .exists(t) Then col.Add .Item(t)
- End If
- Next
- End With
- ReDim a(1 To col.Count, 1 To 1)
- For i = 1 To col.Count: a(i, 1) = col(i): Next
- Sheets(2).[g4].Resize(col.Count, 1) = a
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д