Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Выборка и строк с записью в другой лист (макрос), Как делать чтение и запись с каждой строки
 
В общем разобрался, если кому понадобится вот код массива (считывания из строк/столбцов и записи в другой лист по порядку в любые столбцы)
Код
Sub invent()
Dim otv As String, poz As Range
Dim x, y(), c(), p(), a(), i As Long, j As Byte, k As Long
Application.ScreenUpdating = False

x = Range("B2:v" & Cells(Rows.Count, 2).End(xlUp).Row).Value
otv = Application.InputBox("Введите город", "111", "Россия")

ReDim y(1 To UBound(x) * 2, 1 To 2)
ReDim с(1 To UBound(x) * 2, 1 To 2)
ReDim p(1 To UBound(x) * 2, 1 To 2)
ReDim a(1 To UBound(x) * 2, 1 To 2)
For i = 1 To UBound(x)
    j = j + 1: If j = 2 Then j = 1: k = k + 1
    y(1 + 1 * k, j) = x(i, 4)
    p(1 + 1 * k, j) = x(i, 5)
    с(1 + 1 * k, j) = "номер № " & x(i, 7) & ", Количество " & x(i, 10) & " шт"
    a(1 + 1 * k, j) = x(i, 2)
    
Next i

With Sheets("Бирки")
    .Cells.EntireRow.Hidden = False: .Cells.ClearContents
    .Cells(1, 1).Resize(1 * (k + 1), 1).Value = y
    .Cells(1, 2).Resize(1 * (k + 1), 1).Value = p
    .Cells(1, 3).Resize(1 * (k + 1), 1).Value = с
    .Cells(1, 4).Resize(1 * (k + 1), 1).Value = a
    For Each poz In .Cells(1, 1).Resize(1 * (k + 1))
        If Len(poz) = 0 Then
            Range(poz, poz.Offset(-0)).EntireRow.Hidden = True
        End If
    Next poz
End With

Application.ScreenUpdating = True
End Sub
Выборка и строк с записью в другой лист (макрос), Как делать чтение и запись с каждой строки
 
Спасибо, стало легче)
Выборка и строк с записью в другой лист (макрос), Как делать чтение и запись с каждой строки
 
Можно ли сделать, что бы было примерно так: то есть значения из 2-х ячеек складывались (записывались) в одну?
Код
y(1 + 6 * k, j) = "Наименование:" + x(i, 4)
Выборка и строк с записью в другой лист (макрос), Как делать чтение и запись с каждой строки
 
Цитата
vikttur написал:
Получается, форум до 2007 года был подполье
Это все матрица)
Выборка и строк с записью в другой лист (макрос), Как делать чтение и запись с каждой строки
 
На кой я связался с этими массивами, нагородил забор, теперь мучаюсь)

Юрий М, спасибо, все поправил ;)
47 лет уже на этом форуме, все уже забывать стал)
Изменено: Dmitriy - 19.04.2017 13:21:39
Выборка и строк с записью в другой лист (макрос), Как делать чтение и запись с каждой строки
 
Lefevr, Поправил и добавил файл
Выборка и строк с записью в другой лист (макрос), Как делать чтение и запись с каждой строки
 
Доброго времени суток уважаемые форумчане, как всегда потребовалась Ваша помощь.
Суть проблемы в том, что набросок моего макроса считывает и записывает только через каждые 6 строк, не могу разобраться как это исправить, чтобы обрабатывалась каждая строка.
Может кто подскажет другой метод?
Код
Sub invent()
Dim otv As String, poz As Range
Dim x, y(), c(), p(), a(), i As Long, j As Byte, k As Long
Application.ScreenUpdating = False

x = Range("B2:v" & Cells(Rows.Count, 2).End(xlUp).Row).Value
otv = Application.InputBox("Введите город", "111", "Россия")

ReDim y(1 To UBound(x) * 2, 1 To 6)
ReDim с(1 To UBound(x) * 2, 1 To 6)
ReDim p(1 To UBound(x) * 2, 1 To 6)
ReDim a(1 To UBound(x) * 2, 1 To 6)
For i = 1 To UBound(x)
    j = j + 1: If j = 6 Then j = 1: k = k + 1
    y(1 + 6 * k, j) = "Наименование:"
    y(2 + 6 * k, j) = "номер:"
    y(3 + 6 * k, j) = "ко-во:"
    y(4 + 6 * k, j) = "тип:"
    y(5 + 6 * k, j) = "цена1:"
    y(6 + 6 * k, j) = "цена2:"
    
    с(1 + 6 * k, j) = x(i, 4)
    с(2 + 6 * k, j) = x(i, 7)
    с(3 + 6 * k, j) = x(i, 10)
    с(4 + 6 * k, j) = x(i, 16)
    с(5 + 6 * k, j) = x(i, 20)
    с(6 + 6 * k, j) = x(i, 21)
    p(1 + 6 * k, j) = x(i, 2)
    a(1 + 6 * k, j) = x(i, 5)
    
Next i

With Sheets("Бирки")
    .Cells.EntireRow.Hidden = False: .Cells.ClearContents
    .Cells(1, 1).Resize(6 * (k + 1), 1).Value = y
    .Cells(1, 2).Resize(6 * (k + 1), 1).Value = с
    .Cells(1, 3).Resize(6 * (k + 1), 1).Value = p
    .Cells(1, 4).Resize(6 * (k + 1), 1).Value = a
    For Each poz In .Cells(1, 1).Resize(6 * (k + 1))
        If Len(poz) = 0 Then
            Range(poz, poz.Offset(-1)).EntireRow.Hidden = True
        End If
    Next poz
End With

Application.ScreenUpdating = True
End Sub
Изменено: Dmitriy - 19.04.2017 13:14:04
Фиксация значений в формуле
 
Михаил С. Вот спасибо ОГРОМНОЕ эта =ДВССЫЛ("$C$"&СТРОКА())Мега формула отлично подошла.    
 
P.S Всем спасибо за помощь
Фиксация значений в формуле
 
Катя спасибо =ДВССЫЛ("В4")помогло, только плохо ,что растянуть на другие ячейки нельзя, может есть что то подобное,  
более подробне то, все в одном листе значение ячейка В1 должно равняться С1 при условии , что если добавлять столбец С1 значение в ячейки В1 попрежнему должно ровняться С1, а не D1  как при формуле =С1, также необходимо такие вычисления производить в 100 строках
Фиксация значений в формуле
 
Ship, не помогает :( все равно значение меняестся  
может вы меня не правильно поняли, мне нужно чтоб значение всегда копировалось имменно с конкретной ячейки в независимости, что происходит с данными (сдвигается строка или столбец)
Фиксация значений в формуле
 
Подскажите как зафиксировать формулу =В4, чтобы при добовлении столбца она такая же и оставалась, а не менялась на =С4?
Макрос или формулы
 
nerv, спасибо ОГРОМНОЕ все отлично работает, буду ковыряться дальше =)
Макрос или формулы
 
Не могу разобраться с этими датами, помогите пожалуйста.  
Ситуация такая при открытии файла запускается макрос с формой, где необходимо выбрать дату из списка (даты в списки получаеются в виде набора цифр) при выборе даты коекак записал ее в формате даты выбраного значения, происходит потом подсчет дней он счтитает правильно, а вот при вызове формы через кнопку подсчет дней идет не правильно.  
в чем беда?  
 
P.S. Если будет желание объясните как заполнить правильно вторую форму брать значения из листа результат или подскажите как правильно расчитать это все в коде. Буду примного благодарен если не оставите без внимания.
Макрос или формулы
 
маленько начал разбираться, столкнулся с проблеммой,  
при заполнении ComboBox кодом:  
Private Sub UserForm_Initialize()  
ComboBox1.List = Application.WorksheetFunction.Transpose(Sheets("Общая").Range("D2:X2"))  
End Sub  
заполнение происходит, а вот формат ячейки (дата)теряется, в итоги выдает набор цифр, подскажите что я упустил?
Макрос или формулы
 
Я так и не смог найти как можно бедет записать макросом следующее вычисление (=(Общая!D4-Общая!G4)/РАЗНДАТ(Общая!G2; Общая!D2; "md")), хотелось бы увидить любой полный код с таким вычислением, чтоб разобраться на примере. Если кому нить попадались такие вычисления, буду примного благодарен если кините пример с подобными вычислениями.
Макрос или формулы
 
RAN, если не трудно можешь кинуть код макроса с вычислением на деление и вычитание?
Макрос или формулы
 
Уважаемые, подскажите, пожалуйста, как мне быть, можно ли организовать данные расчеты с помощью макроса, или придется оставить формулы?
Макрос или формулы
 
{quote}{login=}{date=09.09.2011 04:03}{thema=}{post}Дмитрий, а как данные попадают на лист новые данные? Границы диапазонов всегда одинаковы? В чем смысл сдвигать их по столбцам?  
Игорь67    
{/post}{/quote}  
Данные попадают из оф. сайта, пока с помощью копи-паста. Диапазон всегда одинаковый это 100 строк и 4 столбца. А смысл сдвижки в том, что я пока не разобрался, как можно будет лучше дальше обрабатывать данные, так как вычисления идут по формулам, если вычисления можно бедет вести с помощью макроса то было бы не плохо, с этим я и хотел разобраться.  
Попробую составить алгоритм действий:  
1. при открытии документа, открывается форма, где необходимо будет выбрать дату, с которой будет происходить расчет. (даты заносятся в список путем поиска дат из листа общая из диапазона начиная с D2 до X2.) (форма уже сделана в приложенном файле только без диапазона).  
2. Далее происходит обработка данных из листа Новые данные где происходит чтение указанного диапазона и занесение их в лист общая (вроде бы твой макрос работает норм).  
3. Следующий этап расчетов. Находим ежедневный прирост опыта значения в каждой строке начиная с даты  указанной в форме заканчивая сегодняшней датой. Выносим это значение в лист результата в соответствующие строки.  
4. Далее расчет идет только для определенной строки а именно строки с наименование Легенда. Мы считаем следующие значения, до следующего уровня осталось, тут мы берем значение с листа новые данные из ячейки А6 и вычитаем данные из листа новые данные со строки с именем Легенда и значением со столбца авторитет. Дальше мы считаем еще одно значение это количество дней для следующего уровня для этого необходимо произвести следующие вычисления мы берем значение до следующего уровня осталось и делим на ежедневный прирост опыта. И наконец выводим эти данные в отдельную форму или в лист Результат.  
Вот и все что я хотел пока тут сделать, поэтому и попросил помощи разобраться все это можно сделать в макросе или необходимо рассчитывать формулами.  
А также хочу поблагодарить Игорь67  за его макрос.  
размер файла 98к
Макрос или формулы
 
Доброго времени суток уважаемые гуру сайта, а так же любители.  
 
Недавно я подсел на одну из многочисленных онлайн игр, и вот решил попробовать подсчитать необходимую мне информацию. И как новичок столкнулся с проблемами, не могу разобраться что поможет мне в решении моих задач макрос или вполне можно будет обойтись формулами, или же мне потребуется и то и другое.  
Дело в том что есть источник данных в котором часто меняются строки ну и значения в этих строках, а мне необходимо делать накопление всех этих данных и делать кое-какие вычисления.  
на словах так не объяснить вот прикрепляю свои наброски, кто сможет посоветуйте или ткните носом =), заранее буду благодарен за ваше внимание.
Поиск по части данных из ячейки и копирование строки в новый лист
 
KuklP  
Огромное Вам спасибо, сейчас засел за литературу, потом выложу файлик с результатом, уверен многим он пригодится.
Поиск по части данных из ячейки и копирование строки в новый лист
 
KuklP  
а как бы еже присвоить имя новому листу или книги вводимому номеру?
Поиск по части данных из ячейки и копирование строки в новый лист
 
KuklP  
точно... только об этом подумал, что одна галочка остается не задействована  
все удивительно просто, а я тут голову ломал, блин раньше Basic хорошо знал, может у тебя есть какие нибудь ссылочки для самообучения, или файлик с основными командами с расшифровкой значений?
Поиск по части данных из ячейки и копирование строки в новый лист
 
{quote}{login=Hugo}{date=02.11.2010 09:36}{thema=}{post}Сергей, всё Дмитрия пытаешься перегнать? :)  
Может лучше так:  
       If c.Value Like "№" & TextBox1.Text & " *" Then  
Но тогда в форму нужно вводить только номер, без "№" в начале.{/post}{/quote}  
 
В принципе так тоже не плохо.  
Вот почему форма запроса закрывается. не нужно чтоб она закрывалась:)
Поиск по части данных из ячейки и копирование строки в новый лист
 
{quote}{login=KuklP}{date=02.11.2010 08:48}{thema=}{post}А вообще-то Вам бы в правила п.3 насчет версии.{/post}{/quote}  
Прошу прощения неувязочка вышла.  
креплю файл 97-2003
Поиск по части данных из ячейки и копирование строки в новый лист
 
Всем доброе времени суток.  
Уважаемые ГУРУ макросов помогите разобраться со следующей ситуацией.  
Суть идеи в том чтобы макрос искал часть или конкретные значения в каждой ячейке или же по определенному столбцу, а при нахождении их копировал все строку в новую книгу или в новый лист. Думаю такой пример многим может пригодиться  
И по возможности киньте для новичка ссылочки по написанию макросов и наиболее используемые команды к ним с пояснениями на русском.    
Прикрепил файлик с наглядным примером.
Страницы: 1
Наверх