А синтаксис описания массивов в VBA, к сожалению, иной и фигурные скобки не воспринимаются.
Требуется: присвоить содержимое вышеуказанной строки переменной, являющей двумерным массивом для последующей обработки строк и столбцов. К примеру - суммированию в цикле зарплат сотрудников, чей возраст менее 40 лет.
Проблема: описание массивов в VBA не воспринимает фигурные скобки. Можно было бы через RegExp привести строку к виду
и применить (бы) evaluate, но Evaluate в VBA обрабатывает только арифметические выражения...
Я пытался воспользоваться другим редактором:
Код
Dim d As New MSScriptControl.ScriptControl
d.Language = "VBScript"...
но он так же отличается от VB и не воспринимает синтаксис массива с применением фигурных скобок.
Уважаемые коллеги, подскажите, какие есть идеи или варианты на Ваш взгляд, кроме простого перебора строки и заполнения в цикле двумерного массива для приведения его к виду
Цитата
Василий Инженер 55000 35 Михаил Юрист 65000 42 Светлана Офис-менеджер 35000 27
Скорость работы решения важна, поскольку файл - большого размера.
Считать значение ячейки A1 на текущем листе можно так:
Код
MsgBox ActiveSheet.Cells(1, 1).Value
А можно так:
Код
#If VBA7 Then
Private Declare PtrSafe Sub RtlMoveMemory Lib "kernel32" (Dst As Any, Src As Any, ByVal bytes As Long)
#Else
Private Declare Sub RtlMoveMemory Lib "kernel32" (Dst As Any, Src As Any, ByVal bytes As Long)
#End If
'--------------------------
Sub test()
Dim b() As Byte
ReDim b(1 To 4096)
RtlMoveMemory b(1), ByVal StrPtr(Cells(1, 1)), 4096
MsgBox b
End Sub
Подскажите пожалуйста, а как можно и можно ли изменить значение этой ячейки с помощью win api?