Так у меня есть этот код Visual Basic в Excel:Excel VBA - Определить значение как позиции ячейки, скопируйте ниже той же позиции ячейки, вставить
Sub Tele()
Dim rowLoop As Long
rowLoop = 1
strValueToFind = InputBox("Enter a Search value in format xx.xx.xxxx")
' Loop row A to find value, number corrosponds to letter position in alphabet
For rowLoop = 1 To Columns.Count
If Cells(3, rowLoop).Value = strValueToFind Then ' If value is in C then do something
' start on cell found from date needed - look at copying range on same Column
Sheets("Vessels").Range("C10:C13").Value = Sheets("Tidal").Range("D4:D7").Value
Sheets("Vessels").Range("D10:D13").Value = Sheets("Tidal").Range("D9:D12").Value
MsgBox ("Found value on col " & rowLoop) '
Exit Sub
End If
Next rowLoop ' This is row number, do something with this
' This MsgBox will only show if the loop completes with no success
MsgBox ("Date not found, make sure you have input the date correctly")
End Sub
Код выглядит на сегодняшний день в листе, и копирует данные основанный на этой ячейке. Мне нужно, чтобы это стало автоматическим.
Проблема:
В C или Python Я хотел бы захватить «клетку найденную» в качестве значения. Затем я использовал бы это значение внутри диапазона для представления буквы столбца, чтобы на основе найденной «ячейки» она скопировала строки ниже того же столбца и вставляла их в новый лист в том же столбце, одна ячейка вниз и вставлялась в горизонтальном направлении вместо вертикальной.
Короче говоря, если дата указана в столбце C, скопируйте приведенные ниже данные в том же столбце. Затем вставляйте в заданные положения (C10: C13 и D10: D13 в этом случае) для отображения множества полей данных на другом листе. Как только у меня есть базовая концепция, метод нуждается только в экстраполяции, чтобы заполнить функцию остальных. Любые идеи?
Упрощенная программа предназначается, чтобы быть как это:
Введите номер.
Найти столбец, где данные отображаются и определить его как «DATACELLFOUND»
Копирование три ячейки, одна ячейка ниже «DATACELLFOUND» и вставить в С10: С13
Копирование три ячейки, начиная с шести ячеек ниже «DATACELLFOUND» и вставить в D10 : D13.
Спасибо заранее!
'Ячейки (3, rowLoop) .Offset (1,0) .Resize (4) .Value' и' Cells (3, rowLoop) .Offset (6,0) .Resize (4) .Value' вероятно что ты ищешь. – BrakNicku
Удивительный, отлично сработавший для камер ниже, спасибо. Вы должны ответить на этот вопрос, я думаю, и объясню это. Прекрасно подходит для меня. – Savagefool