Элемент Excel - ячейки (1, "Z") содержит некоторое значение. Теперь я хочу написать 10 ячеек после Z. Это будут ячейки (1, «AJ»). Могу ли я написать макрос, который добавит 10 в 'Z' и даст мне имя столбца excel, т. Е. AJ?Macro to Increment column имя excel динамически
ответ
Вы можете добавить две функции вашего проекта:
- Первое, превращая буквы в соответствующий номер столбца;
- Второе, преобразование числа (после добавления) в букву.
Так вот вы идете:
Sub YourMacro()
columnLetter = ColLtr(ColNum("Z") + 10)
MsgBox columnLetter
End Sub
Function ColLtr(iCol As Long) As String
If iCol > 0 And iCol <= Columns.Count Then
ColLtr = Evaluate("substitute(address(1, " & iCol & ", 4), ""1"", """")")
End If
End Function
Function ColNum(iCol As String) As Long
ColNum = Range(iCol & 1).Column
End Function
Затем повторно написать код в соответствии с вашими потребностями, это просто дает вам обратно алфавитный версию «10 колонок после Z».
Даже если вы всегда можете работать с индексами столбцов, сохраняя их числовыми, это просто, если вы действительно хотите научиться конвертировать буквы в числа, выполнять свои операции и затем переустанавливать их обратно на буквы. –
Вам не пришлось прикладывать столько боли к написанию чего-то, что уже было описано в SO раньше;) См. [This] (http://stackoverflow.com/questions/10106465/excel-column-number-from-column -name/10107264 # 10107264) –
@SiddharthRout вы правы, пользователи всегда должны приложить некоторые усилия, так как некоторые ответы действительно легко найти. Попытаюсь воздержаться от моей воли писать код в следующий раз и немного подождать для усилий пользователя :) –
- 1. Excel Macro Row increment
- 2. Excel Macro text-to-column весь столбец
- 3. Excel Column Discrepency Macro
- 4. excel macro column автозаполнение
- 5. Excel to WiKi macro
- 6. Detect Auto Increment Column
- 7. Excel to word doc macro
- 8. Excel Macro To Advance Date
- 9. Excel macro to if содержит else
- 10. обновление excel 2007 macro to excel 2013
- 11. Excel VBA Text To Column
- 12. Auto increment column .NET
- 13. auto increment second column
- 14. SQL Increment Column
- 15. Increment Column Value
- 16. MySQL auto increment column
- 17. Laravel Increment Column Value
- 18. Excel Workbook to PDF Macro Error
- 19. Excel VBA moving Shapes to column
- 20. Hbase: Auto increment of column
- 21. MySQL ID Column Auto Increment
- 22. jQuery DataTables fnRender Increment Column
- 23. Eigen Increment Column by One
- 24. Excel Macro Move Row to Bottom
- 25. Сообщение от vb macro form to excel
- 26. XLS to XML Macro для Mac Excel
- 27. VBA macro crashing Excel
- 28. Linq To excel can not find column in excel
- 29. vb.net Excel column to errorbox error
- 30. asp gridview export to excel hide column
Да, вы можете. Я могу дать вам ответ, но я хочу, чтобы вы сначала попробовали. Вы можете использовать цикл 'FOR', используя' STEP'. Попробуйте, и если вы застряли, тогда отправьте код, который вы попробовали, и мы его возьмем –
Также 'cells (1," Z ")' может быть записано как 'cells (1,26)' или 'cells (1, i) 'где' i' может быть увеличено в цикле 'For'. :) –