Копирование данных из ячейки одного листа на другой с условием - VBA

Узнай цену своей работы

Формулировка задачи:

Копирование данных из ячейки одного листа на другой с условием На листе 1 в ячейках B4: ... ОТКАЗ - 306002 3 - 306000 1 - 306001 5 - 306001 ... Необходимо условие чтобы извлекалась первое слово из ячейки и приравнивалось к условию ОТКАЗ=9, 1=5, 5=3 На листе 2 в ячейках G4 : ... должно получаться 9 5 3

Решение задачи: «Копирование данных из ячейки одного листа на другой с условием»

textual
Листинг программы
  1. Option Explicit
  2.  
  3. Sub tt()
  4.     Dim a, i As Long, arr, t As String, col As New Collection
  5.  
  6.     With CreateObject("scripting.dictionary"): .comparemode = 1
  7.         .Item("ОТКАЗ") = 9
  8.         .Item("1") = 5
  9.         .Item("5") = 3
  10.  
  11.         a = Sheets(1).[b4].CurrentRegion.Value
  12.         For i = 1 To UBound(a)
  13.             arr = Split(a(i, 1), " - ")
  14.             If UBound(arr) = 1 Then
  15.                 t = Trim(arr(0)): If .exists(t) Then col.Add .Item(t)
  16.             End If
  17.         Next
  18.     End With
  19.  
  20.     ReDim a(1 To col.Count, 1 To 1)
  21.     For i = 1 To col.Count: a(i, 1) = col(i): Next
  22.     Sheets(2).[g4].Resize(col.Count, 1) = a
  23. End Sub

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


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

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

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы