Я пытаюсь создать VBA, где я вводю информацию о платежах по 22 столбцам. Эти столбцы включают сумму платежа, счет и т. Д. c. Затем я могу запустить макрос, и он форматирует данные в пригодную для использования строку, а затем экспортирует данные в файл CSV. Данные должны быть отформатированы с апострофом и запятыми между информацией.
Например, столбец B - это идентификатор продавца, а столбец C - имя продавца (столбец A не заполнен). Я набираю 123 в столбце B и xyz в столбце C. Он преобразуется в '123', 'xyz', ..., ..., цель - завершить форматирование, объединить его и затем экспортировать в CSV. В настоящее время я использую смесь формул / функций и макроса.
Я использую формулы для правильного форматирования, используя: = "'" & B2 & "'" & "," Затем использую concatenate для объединения все 22 строки в одну строку
Затем я записал макрос со следующим:
Sub BCM_CSV_export()
'
' BCM_CSV_export Macro
Range("B21").Select
ActiveCell.FormulaR1C1 = "=""'""&R[-19]C&""'""&"","""
Range("B21:V21").Select
Selection.FillRight
Range("B21:V30").Select
ActiveWindow.SmallScroll Down:=9
Selection.FillDown
Range("B40").Select
ActiveCell.FormulaR1C1 = "=CONCAT(R[-19]C:R[-19]C[20])"
Range("B40:B49").Select
Selection.FillDown
Workbooks.Add
Windows("BCM CSV Workbook.xlsm").Activate
Selection.Copy
Windows("Book1").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E13").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs "CSVDate.csv", _
FileFormat:=xlCSV, CreateBackup:=False
ActiveWindow.Close
Selection.ClearContents
Range("B21").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-24
End Sub
Код работает на моем ноутбуке. Файл CSV отображается в «Мои документы». Но мой коллега сталкивается с ошибками. Кажется, код не работает.
У меня вопрос в 2 раза: 1. Что-то не так с моим макросом, что он работает только на моем ноутбуке? 2. Есть ли способ преобразовать 22 строки данных в одну текстовую строку и в новую рабочую книгу CSV без промежуточных шагов моего использования функции форматирования и объединения текстовых строк?
Я использовал функцию поиска и не видел ничего, что точно соответствует этому. Большое спасибо всем!