|
|
|
VBA и Excel
|
|||
|---|---|---|---|
|
#18+
поставилась тут передо мной простенькая задачка... надобно с помощью VBA обработать табличку экселевскую... но вот возник вопрос у меня ламерский, ибо не работал я с VBA ранее: как считать, обработать и поместить обратно значение из ячейки таблицы? Например, Cells(i,j) = Cells(k,l) + Cells(n,m)? Как можно так сделать? Или, например, считать значения из столбца в массив, обработать и поместить обратно, только уже в отсортированном виде? Заранее спасибо за ответ :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 08:57:13 |
|
||
|
VBA и Excel
|
|||
|---|---|---|---|
|
#18+
УРА! сам во всем разобрался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 10:06:16 |
|
||
|
VBA и Excel
|
|||
|---|---|---|---|
|
#18+
В Excel, как в Perl, чтобы решить одну задачу можно использовать несколько способов. Когда я занимался Excel, надо было делать математическую обработку записанного сигнала от датчика (уйма информации). Так вот самым быстрым способом было - перевод данных из ячеек в массив, а затем обратно в дипазон. Учись студент, и люби Родину - мать твою Sub test() Dim a() Dim r As Range Dim i As Long, j As Long '-- считывание в массив Set r = Selection '-- выделенный сейчас диапазон ячеек cc = r.Columns.Count rc = r.Rows.Count ReDim a(1 To rc, 1 To cc) a = r.Value '-- работа с массивом For i = 1 To rc For j = 1 To cc Debug.Print "old a(" & i; "," & j& & ") = " & a(i, j) a(i, j) = a(i, j) * i * j Debug.Print "new a(" & i; "," & j& & ") = " & a(i, j) Next j Next i '-- вывод в другой диапазон Dim r1 As Range Set r1 = r.Offset(ColumnOffset:=5) r1.Value = a r1.Select End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 10:23:37 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2186038]: |
0ms |
get settings: |
4ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
25ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 286ms |

| 0 / 0 |
