|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - [решено] [Excel] Присвоение значения ячейке |
|
VBA - [решено] [Excel] Присвоение значения ячейке
|
Старожил Сообщения: 198 |
Профиль | Отправить PM | Цитировать Добрый день!
Необходимо в определенные ячеки листа внести определенные формулы из скрипта. Делаю так: Dim sheetWithKvit As Worksheet Set sheetWithKvit = Worksheets("Лист1") Do While True ' Not IsNull(Sheets("Лист2").Range("A" + Str(curRow))) text = "=Лист2!G" + Str(curRow) sheetWithKvit.Cells(curRowInKvit, curCollumnInKvit).Value = text Как реализовать банальнейшее присвоение значения ячейке??? Понимаю, что задача банальна, но как ни смешно, не могу понять как это закодировать. |
|
Отправлено: 14:39, 09-03-2012 |
Ветеран Сообщения: 902
|
Профиль | Отправить PM | Цитировать Доброго времени суток. Подскажите пожалуйста, есть такой код:
Imports System Imports System.IO Imports System.Text Public Class Form1 Dim Exc, CExc, CExcs, xlCenter, Selection As Object Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Dim Exc As Object = CreateObject("Excel.Application") 'Открыть новую книгу Excel CExc = Exc.Workbooks.Add CExcs = CExc.Worksheets(1) CExcs = CExc.Worksheets(1).Activate 'CExcs = CExc.Worksheets(2).Delete 'CExcs = CExc.Worksheets(3).Delete Exc.visible = True 'Видимость книги Эксель - False - Невидима и выполняется все в срытном режиме 'Добавить данные в ячейки первого листа новой книги Exc.sheets(1).range("A1").value = "Таб. №" Exc.sheets(1).range("B1").value = "Ф.И.О." Exc.sheets(1).range("C1").value = "Должность" Exc.sheets(1).range("D1").value = "Логин" Exc.sheets(1).range("E1").value = "Пароль" Exc.sheets(1).range("A1:E1").Font.Bold = True Exc.sheets(1).range("A1:E1").Font.Size = 11 Exc.sheets(1).range("A1:E1").Interior.ColorIndex = 6 Exc.sheets(1).range("A1:E1").HorizontalAlignment = xlCenter Exc.sheets(1).range("A1:E1").VerticalAlignment = xlCenter Exc.sheets(1).range("A1:E1").WrapText = False Exc.sheets(1).range("A1:E1").Orientation = 0 Exc.sheets(1).range("A1:E1").MergeCells = False End Sub Private Sub Commit_Click(sender As System.Object, e As System.EventArgs) Handles Commit.Click Exc.sheets(1).range("A2").value = Me.EIDText Exc.sheets(1).range("B2").value = Me.LFMText Exc.sheets(1).range("C2").value = Me.TitleText Exc.sheets(1).range("D2").value = Me.LoginText Exc.sheets(1).range("E2").value = Me.PwdText 'Сохранить книгу и закрыть Excel CExc.SaveAs("C:\EmployeeList.xlsx") Exc.Quit() End Sub End Class Во-вторых, где можно почитать про форматирование ячеек? Хотелось бы задать текст по центру, шрифт и.т.д. В-третьих файл не *xlsx не сохраняется по указанному пути. P.S. ссылку на Microsoft Office 14.0 Object Library делал... Но как ей воспользоваться - не знаю P.S.S. С третьим вопросом разобрался. |
------- Последний раз редактировалось Devils0411, 14-01-2015 в 16:59. Отправлено: 15:27, 14-01-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Devils0411:
Цитата Devils0411:
Цитата Devils0411:
Цитата Devils0411:
Цитата Devils0411:
|
|||||
Отправлено: 17:06, 14-01-2015 | #12 |
Ветеран Сообщения: 902
|
Профиль | Отправить PM | Цитировать Теперь выдает следующую ошибку: Член группы не найден. (Исключение из HRESULT: 0x80020003 (DISP_E_MEMBERNOTFOUND)) в данной части кода Exc.sheets(1).range("A" & i).value = Me.EIDText
Сам код: Imports System Imports System.IO Imports System.Text Public Class Form1 Dim CExc, CExcs, xlCenter As Object Dim Exc As Object = CreateObject("Excel.Application") Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 'Открыть новую книгу Excel CExc = Exc.Workbooks.Add(1) CExcs = CExc.Worksheets(1).Activate Exc.visible = True 'Видимость книги Эксель - False - Невидима и выполняется все в срытном режиме 'Добавить данные в ячейки первого листа новой книги Exc.sheets(1).range("A1").value = "Таб. №" Exc.sheets(1).range("B1").value = "Ф.И.О." Exc.sheets(1).range("C1").value = "Должность" Exc.sheets(1).range("D1").value = "Логин" Exc.sheets(1).range("E1").value = "Пароль" Exc.sheets(1).range("A1:E1").Font.Bold = True Exc.sheets(1).range("A1:E1").Font.Size = 11 Exc.sheets(1).range("A1:E1").Interior.ColorIndex = 6 Exc.sheets(1).range("A1:E1").HorizontalAlignment = xlCenter Exc.sheets(1).range("A1:E1").VerticalAlignment = xlCenter Exc.sheets(1).range("A1:E1").WrapText = False Exc.sheets(1).range("A1:E1").Orientation = 0 Exc.sheets(1).range("A1:E1").MergeCells = False End Sub Private Sub Commit_Click(sender As System.Object, e As System.EventArgs) Handles Commit.Click For i = 2 To 10 Exc.sheets(1).range("A" & i).value = Me.EIDText Exc.sheets(1).range("B" & i).value = Me.LFMText Exc.sheets(1).range("C" & i).value = Me.TitleText Exc.sheets(1).range("D" & i).value = Me.LoginText Exc.sheets(1).range("E" & i).value = Me.PwdText Next i 'Сохранить книгу и закрыть Excel If Not File.Exists("C:\Users\dmitry.palega\Desktop\EmployeeList.xlsx") Then CExc.SaveAs("C:\Users\dmitry.palega\Desktop\EmployeeList.xlsx") Exc.Quit() Else My.Computer.FileSystem.DeleteFile("C:\Users\dmitry.palega\Desktop\EmployeeList.xlsx") CExc.SaveAs("C:\Users\dmitry.palega\Desktop\EmployeeList.xlsx") Exc.Quit() End If End Sub End Class Цитата Iska:
|
|
------- Отправлено: 17:07, 14-01-2015 | #13 |
Ветеран Сообщения: 902
|
Профиль | Отправить PM | Цитировать Архив с проектом прикрепил.
|
------- Отправлено: 17:12, 14-01-2015 | #14 |
Ветеран Сообщения: 902
|
Профиль | Отправить PM | Цитировать Проблему решил.. Чуть позже выложу код с изменениями.
P.S. Проблема была в отсутствии Text.ToString, т.е. строка должна была быть вот такой: Exc.sheets(1).range("A" & i).value = Me.EIDText.Text.ToString |
------- Последний раз редактировалось Devils0411, 16-01-2015 в 14:36. Отправлено: 10:23, 15-01-2015 | #15 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Добрый вечер.
Подскажите как ввести формулу в ячейку Excel при помощи VBA. Формула содержит функцию, написанную в VBA и имеет такой синтаксис: =MyFunc($A16;"15") iRowNum это переменная с номером строки листа. Я пробовал так: Range("G" & CStr(iRowNum)).Formula = "=MyFunc($A" & CStr(iRowNum) & ";" & CStr(15) & ")" но VBA при запуске выдает: "Application defined or object defined error". |
Отправлено: 19:30, 25-02-2018 | #16 |
Динохромный Сообщения: 690
|
Профиль | Отправить PM | Цитировать Цитата stuermer01:
Попробуйте код ниже: Range("G" & CStr(iRowNum)).Formula = "=MyFunc($A" & CStr(iRowNum) & ",""15"")" |
|
------- Отправлено: 09:42, 26-02-2018 | #17 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Цитата a_axe:
|
|
Отправлено: 00:39, 27-02-2018 | #18 |
Пользователь Сообщения: 125
|
Профиль | Отправить PM | Цитировать Подскажите, как ввести через VBA такую формулу в ячейку:
=ЕСЛИ(A4<>"";F4-A4;"--") пока я ввожу так и это работает: Range("I" & CStr(iRowNum)).Formula = "=F" & CStr(iRowNum) & "-A" & CStr(iRowNum) но будет ли скомпилировано имя функции, написанное кириллицей? |
Отправлено: 15:30, 09-07-2019 | #19 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:34, 09-07-2019 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - Excel - Сложить значения определенных ячеек | ALaN_1 | Microsoft Office (Word, Excel, Outlook и т.д.) | 1 | 31-10-2011 22:22 | |
2003/XP/2000 - MS Excel | Отделить данные разного характера в одной ячейке | Rubichek | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 26-04-2011 18:56 | |
2003/XP/2000 - Excel | Пустые значения в ряду данных графика | AlexM | Microsoft Office (Word, Excel, Outlook и т.д.) | 0 | 06-02-2010 07:17 | |
[решено] Использование функций VBa в ячейке Excel. | pingUIN | Хочу все знать | 1 | 04-12-2009 15:59 | |
C/C++ - Присвоение функции значения | mrcnn | Программирование и базы данных | 4 | 07-11-2008 08:26 |
|