Копирование данных из ячейки одного листа на другой с условием - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д