Форум Рідного Міста
Ви не ввійшли [Ввійти - Зареєструватися]
Вниз

Версія для друку  
Автор: Тема: VBA for Excel
Юрій Марків
Академік
****

Фотографія користувача


Повідомлень: 795
Зареєстрований: 10-12-2003
Місто: Lviv
Нема на форумі

Настрій: :-)

[*] написано 29-5-2009 у 12:27
VBA for Excel


Хто би мені допоміг?

Є файл .xls, у якому потрібно опрацювати дві колонки, F та J.
Вигляд приблизно такий:

F J
aaa bbb
(порожньо) ccc
(порожньо) ddd
(порожньо) (порожньо)
fff ggg
(порожньо) rrr
(порожньо) vvv
(порожньо) (порожньо)

Так от, мені потрібно, пройтися по списку і вибирати з колонки J все так, як є, а з колонки F брати лише перше непорожнє значення і проставляти нажче в тій самій колонці F навпроти існуючих непорожніх значень з колонки J. Коли доходимо до рядка, де обидва значення порожні, потрібно брати наступне непорожнє значення з колонки F і ставити в тій самій колонці F навпроти існуючого значення з колонки J. І так далі, 23 тис. рядків.

Допоможіть плз.
Переглянути профіль користувача Зайти на домашню сторінку користувача Переглянути всі повідомлення цього користувача
Aндpiй
Дійсний член
***



Повідомлень: 128
Зареєстрований: 30-4-2003
Місто: Львів
Нема на форумі

Настрій: Настрій не вказаний

[*] написано 29-5-2009 у 17:23


Допоможу, але після понеділка-абсолютно нема часу. Взагалі в exel-i то можна зробити дуже просто: вмикаємо запис макроса -> виконуємо приблизно такі дії , як має робити програма-> завершуємо запис макроса і йдемо у створений програмний модуль підправляти що треба, всякі змінні замість чисел та ін.
Переглянути профіль користувача Переглянути всі повідомлення цього користувача
Сергій Зіньків
Новак
*



Повідомлень: 1
Зареєстрований: 29-5-2009
Нема на форумі

Настрій: Настрій не вказаний

[*] написано 29-5-2009 у 20:54


Привіт!!! Мені потрібна невеличка допомога у VBA. Написав програмку
Dim r As Integer, n As Integer, i As Integer
r = Range(Range("f3"), Range("f3").End(xlDown)).Rows.Count
n = InputBox(" Ведіть бажану суму ")
For i = 3 To r
If Cells(i, 6) < n Then
Cells(i, 8) = Cells(i, 1)
Cells(i, 9) = Cells(i, 5)
Cells(i, 10) = Cells(i, 6)
End If
Next i
вона працює виводить потрібні мені дані у 8,9 і 10 стовпець, але виводить дані у відповідні рядки де виконується умова, а треба шоб виводило одне за одним починаючи з першого рядка. Дивився сам шось не можу згадати шо тре зробити, допоможіть. Дякую.
Переглянути профіль користувача Переглянути всі повідомлення цього користувача
Юрій Марків
Академік
****

Фотографія користувача


Повідомлень: 795
Зареєстрований: 10-12-2003
Місто: Lviv
Нема на форумі

Настрій: :-)

[*] написано 31-5-2009 у 08:44


Цитата:
Оригінальне повідомлення від Юрій Марків
Хто би мені допоміг?

Є файл .xls, у якому потрібно опрацювати дві колонки, F та J.

...



Андрію, дякую за турботу, та рішення вже знайдено: :)

Цитата:

Sub CopyExtendColumnsFandJ()
Dim X As Long
Dim Frow As Long
Dim LastDataRow As Long
Const DataStartRow As Long = 2
Const Source As String = "Sheet2"
Const Destination As String = "Sheet3"
With Worksheets(Source)
LastDataRow = .Cells(.Rows.Count, "J").End(xlUp).Row
Frow = DataStartRow
For X = DataStartRow To LastDataRow
If .Cells(X, "J").Value <> "" Then
If .Cells(X, "F").Value = "" Then
Worksheets(Destination).Cells(X, "F").Value = .Cells(Frow,
"F").Value
Else
Frow = X
Worksheets(Destination).Cells(X, "F").Value = .Cells(X, "F").Value
End If
Worksheets(Destination).Cells(X, "J").Value = .Cells(X, "J").Value
Else
Frow = X
End If
Next
End With
End Sub
Переглянути профіль користувача Зайти на домашню сторінку користувача Переглянути всі повідомлення цього користувача

  Догори

Статичне дзеркало форуму

Львів
Pоwered by XМB
Developed by Avеnture Media & The XМB Group © 2002-2006



Інші проекти:
Наука-Онлайн - Об'єднання українських науковців
Львів - Фотоблог міста
ІБАС. Інформаційна, бібліотечна та архівна справа - Сучасна освітня спеціальність
School review 7454
Реклама: