Копирование данных из ячейки одного листа на другой с условием - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы