有必要在 Google Sheets 或 Excel 2019 中编写一个公式,以搜索相同的样本编号并对已发行的产品求和。那些。在 A 列中查找相同的元素,并从 B 列中计算它们的值之和。对于 #1,这将是 44,对于 #3 - 10,对于 #5 - 9,等等。
ольгаг
Asked:
2024-12-26 16:12:31 +0800 CST
vba-excel中有以下任务:
在 AutoCAD 中选择块,然后将两个值写入 Excel 列 - 块属性标记的名称 (*autocad)、单元格 A1 及其文本值、单元格 A2。对于样本中的所有块,依此类推。
在这种情况下,首先将标签名称写入列中(检查列中已写入的标签名称)。然后,根据标签名称,写入该标签的文本值。
每次这些都是 For..Next 周期。
请告诉我如何优化此类程序以提高速度:使用数组、类和集合?
示例代码:
For Each lBlockObj In objSelectionSet
Set lBlock = acadDoc.SelectionSets("TempSSet").Item(I - 1)
varAttributes = lBlockObj.GetAttributes
'добавление имен тэгов здесь без проверки что уже есть
For n = LBound(varAttributes) To UBound(varAttributes)
Cells(2, at_hed).Value = varAttributes(n).TagString
at_hed = at_hed + 1
Next n
'запись атрибутов
For r = 2 To Col_N1
For n = LBound(varAttributes) To UBound(varAttributes)
If varAttributes(n).TagString = Cells(2, r).Value Then ActiveCell.Offset(0, r - 2).Value = varAttributes(n).MTextAttributeContent
Next n
Next r
ActiveCell.Offset(1, 0).Activate
Set lBlock = Nothing
Next lBlockObj
ольгаг
Asked:
2024-12-24 17:58:35 +0800 CST
Follin
Asked:
2024-12-09 18:04:16 +0800 CST
Михаил Ширшов
Asked:
2024-11-12 19:34:51 +0800 CST
这是我的代码:
Sub GetCadastralInfo()
Dim dbPath As String
Dim cadNumber As String
Dim conn As Object
Dim rs As Object
Dim sql As String
Dim result As Variant
Dim i As Integer
On Error GoTo ErrorHandler
dbPath = "C:\my_python\Bot_aio\akt\egrn_kpt.db"
cadNumber = Trim(ActiveCell.Value) ' Удалить лишние пробелы
' Соединение
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
' Откройте соединение с базой данных
conn.Open "Driver={SQLite3 ODBC Driver};Database=" & dbPath & ";"
' SQL запрос для поиска информации по кадастровому номеру
sql = "SELECT value_by_document FROM ZY WHERE cad_n = '" & cadNumber & "';"
' Выполните запрос и получите набор записей
Set rs = conn.Execute(sql)
' Инициализация переменной строки
i = 1 ' Начинаем с первой строки
' Проверка наличия данных
If Not rs.EOF Then
While Not rs.EOF
Cells(i, 1).Value = rs.Fields(0).Value
' Если у вас есть второе поле, убедитесь, что оно существует
If rs.Fields.Count > 1 Then
Cells(i, 2).Value = rs.Fields(1).Value
End If
i = i + 1
rs.MoveNext
Wend
Else
MsgBox "Нет данных для данного кадастрового номера.", vbInformation
End If
' Закрытие набора записей и соединения
rs.Close
conn.Close
Exit Sub
ErrorHandler:
MsgBox "Ошибка: " & Err.Description, vbCritical, "Ошибка"
If Not rs Is Nothing Then
If rs.State = 1 Then rs.Close ' Закрываем, если открыто
End If
If Not conn Is Nothing Then
If conn.State = 1 Then conn.Close ' Закрываем, если открыто
End If
End Sub
由于某种原因,它不断显示:“该地籍号码没有数据。”,尽管数据库在ZY表中有一个条目(这些是土地),并且我想要value_by_document列(这是土地的 VRI,例如 - “用于运行个人附属地块”)。因此,在单元格 A1 中(例如),我输入地籍号码(例如 - “52:15:0140112:10”),然后按组合键ctrl+f8并执行此代码,它显示没有数据。SQLite ODBC 驱动程序是从网站安装的。我想编写可以访问数据库的代码。请帮忙。