Мне интересно, можете ли вы помочь мне с моим запросом, я полный любитель VBA.
Я пытаюсь написать кусок VBA для копирования и вставки значений в диапазоне ячеек в отдельную рабочую таблицу, начиная с указанного c столбца, когда я нажимаю командную кнопку.
Изобразите это
У меня есть мастер-лист, который просматривает данные и возвращает загрузку значений для график работает с 20 марта по De c -20
У меня также есть выпадающий список, который позволит мне выбрать новый месяц. 20 июля, скажем, я хочу нажать кнопку, которая будет копировать и вставьте эти данные в новую временную шкалу, на отдельном листе, начиная с месяца, выбранного в раскрывающемся списке.
Я взял некоторый код, который я создал для чего-то другого, и исправил его, чтобы попытаться заставить его работать для этого.
Любая помощь будет оценена. Проигнорируйте остальную ручную запись, это наследие от предыдущей итерации.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim controlRng, nRng As Range
Set controlRng = Range("AD12") ' This the range of cells which I have defined to be my dropdown cells.
Set nRng = Intersect(controlRng, Target) ' Find out if any of the dropdown cells have been changed
lastrow = Sheets("Planning").Range("A65536").End(xlUp).Row + 1
If nRng Is Nothing Then Exit Sub ' None of the dropdown cells have changed so no need to do anything further
If Target.Value = "Apr-20" Then
Range("AH10:AH30").Copy
Sheets("Planning").Range("C" & lastrow).PasteSpecial xlPasteValues ' Copy and paste values to next available rows in destination sheet
ElseIf Target.Value = "May-20" Then
Range("AH10:AH30").Copy
Sheets("Planning").Range("D" & lastrow).PasteSpecial xlPasteValues ' Copy and paste values to next available rows in destination sheet
ElseIf Target.Value = "Jun-20" Then
Range("AH10:AH30").Copy
Sheets("Planning").Range("E" & lastrow).PasteSpecial xlPasteValues ' Copy and paste values to next available rows in destination sheet
ElseIf Target.Value = "Jul-20" Then
Range("AH10:AH30").Copy
Sheets("Planning").Range("F" & lastrow).PasteSpecial xlPasteValues ' Copy and paste values to next available rows in destination sheet
ElseIf Target.Value = "Aug-20" Then
Range("AH10:AH30").Copy
Sheets("Planning").Range("G" & lastrow).PasteSpecial xlPasteValues ' Copy and paste values to next available rows in destination sheet
Else
'Manual entry
End If
End Sub