Я использую Excel 2003, и мне нужно создать макрос, запрашивающий у пользователя 5 входов: Date, Project #, Fault, Problem and Solution. Я никогда не использовал макросы, поэтому я понятия не имею, как это кодировать. Как только данные будут введены пользователем, я хочу, чтобы он проходил под соответствующими столбцами. После этого макрос не будет запрашивать пользователя для другого ввода до тех пор, пока макрос не будет запущен снова.Сделать макрос для ввода данных в электронную таблицу Excel
ответ
Sub TestMacro()
Range("A2").Select
ActiveCell.FormulaR1C1 = InputBox("Date")
Range("B2").Select
ActiveCell.FormulaR1C1 = InputBox("Project #")
Range("C2").Select
ActiveCell.FormulaR1C1 = InputBox("Fault")
Range("D2").Select
ActiveCell.FormulaR1C1 = InputBox("Problem")
Range("E2").Select
ActiveCell.FormulaR1C1 = InputBox("Solution")
End Sub
Чтобы переместить активную ячейку вниз а3 (т.е. следующую строку внизу, как вы спрашиваете) использовать этот:
ActiveCell.Offset(1, -4).Select
, похоже, это не переносит его в следующую строку, в основном я хочу, чтобы макрос работал через 5 входов, а затем вводил данные и останавливался, а когда макрос запускается в следующий раз, чтобы начать с следующего строка вниз. – 2009-05-29 22:25:14
Я забыл знак минус на одном из номеров, но я исправил это сейчас. – paulmorriss
Там есть встроенный способ сделать это. Поместите заголовки столбцов в строку 1 листа Excel, выберите ячейку A1, затем перейдите в меню Data
и выберите Form
Это может быть ограничительным решением, поскольку вы не можете делать такие вещи, как заполнение одного поля на основе другого (например, укажите список проблем, зависящих от выбранной ошибки). Если вам просто нужно что-то быстро и просто, то это задание
При запуске макроса поместите этот код, прежде чем сделать что-нибудь:
Dim i As Integer
Range("a1").Select
Range(Selection, Selection.End(xlDown)).Select
i = Selection.Rows.Count
Это предполагает, что у вас всегда есть какое-то значение в «A1» и что нет пустых строк, пока вы не дойдете до конца допустимых строк введенных данных.
На данный момент у вас есть значение «i», равное количеству строк, уже содержащих данные.
Затем вы можете использовать код Christian Пейна выше, но модифицировать
Range("A2").Select
в
Cells(i + 1, 1).Select
Это позволит макрос, чтобы поместить данные в следующей пустой строке ниже вашего уже существующих данных.
Будет что-то вроде этого делать то, что вам нужно?
Sub TestMacro()
Dim dblRow As Double, dtDate As Date, strProject As String
Dim strFalut As String, strProb As String, strSol As String
dblRow = InputBox("What Row to Enter On")
dtDate = InputBox("Date", , Date)
strProject = InputBox("Project #")
strFalut = InputBox("Fault")
strProb = InputBox("Problem")
strSol = InputBox("Solution")
Range("A" & dblRow).Value = dtDate
Range("B" & dblRow).Value = strProject
Range("C" & dblRow).Value = strFalut
Range("D" & dblRow).Value = strProb
Range("E" & dblRow).Value = strSol
End Sub
- 1. Excel макрос для автоматического ввода данных
- 2. PowerShell Script для автоматизации ввода данных в электронную таблицу OpenOffice
- 3. Использование сценария для автоматизации ввода данных в электронную таблицу OpenOffice
- 4. Как создать электронную таблицу Excel?
- 5. Разделить таблицу для форматирования в электронную таблицу
- 6. Экспорт данных из Access в электронную таблицу Excel
- 7. Попытка перемещения данных из XML в электронную таблицу Excel
- 8. Python: No Traceback при скребунии данных в электронную таблицу Excel
- 9. HTML формы в электронную таблицу Excel (базы данных)
- 10. Excel VBA - Формула разбивается после добавления данных в электронную таблицу
- 11. Вставка сгенерированного изображения в электронную таблицу Excel?
- 12. Как импортировать электронную таблицу Excel в блог ..?
- 13. Экспорт данных из вывода пользовательской формы в электронную таблицу Excel
- 14. Python - форматирование данных в электронную таблицу Excel с помощью pandas
- 15. Как преобразовать макрос в excel в нормальный?
- 16. Как использовать .net для добавления флажков в электронную таблицу Excel?
- 17. Excel макрос сделать определенный вид?
- 18. Excel макрос для очистки данных для удаления
- 19. Как фильтровать электронную таблицу Excel по шаблону?
- 20. Как отслеживать, кто использует электронную таблицу Excel?
- 21. win32com Ошибка ввода данных Excel Excel
- 22. Использовать электронную таблицу google как базу данных
- 23. Rails: Экспорт данных в электронную таблицу google
- 24. Excel макрос? формула? для повторяющихся строк
- 25. Автоматизированная сборка данных XML в электронную таблицу
- 26. Использовать Excel, когда выполняется макрос
- 27. Импорт веб-страницы в электронную таблицу Excel с использованием VBA
- 28. Проверить электронную таблицу «X.xls»?
- 29. Импорт данных JSON в электронную таблицу Google
- 30. Импорт данных в электронную таблицу - автоматически обновляется
Большое спасибо, что работало для ввода значений в текущую строку, но как бы у меня следующий набор значений переместился в следующую строку внизу, поэтому значения не будут перезаписаны. Спасибо – 2009-05-29 11:22:55