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

Страницы: 1
Нумерация повторяющихся значений в списке
 
спасибо!
Нумерация повторяющихся значений в списке
 
Конечно надо!
я пробовал реализовать это так...
Код
Sub test()

For i = 1 To 4
    For j = 1 To 10
        If Cells(i, 3) = Cells(j, 2) Then
        'тут как то должно присваиваться значение ячейке Cells(j,1)
        'равное числу повторений
    Next j
Next i

End Sub
Нумерация повторяющихся значений в списке
 
Спасибо, помогло! Но я думал, это как то через циклы VBA делается=)
Нумерация повторяющихся значений в списке
 
Есть столбец с данными, которые могу повторяться несколько раз в разных строках этого столбца. Необходимо создать столбец в котором будет по порядку нумероваться значения. Т.е. напротив каждого следующего повторения значения должно появляться количественное значение числа повторений.

а 1
а 2
б 1
б 2
б 3
б 4
в 1
г 1
г 2
г 3
или
а1
б 1
б 2
в 1
г 1
г 2
г 3
а 2
б 3
б 4
Заполнить массив данными с нескольких листов и выгрузить на другой лист
 
вот такой код по прежнему работает неправильно берет только первое занчение из столбца и заполняет им весь столбец на конечном листе
Код
Sub Result_rpt()

Dim A()
Dim iNumber As Integer
iNumber = InputBox("Введите количество листов")
For i = 0 To iNumber - 1
    With Sheets("Лист" & CStr(i + 1))
    A = .Range(.Cells(66, 6), .Cells(17905, 6)).Value
    End With
    Sheets("сводка").Cells(1, 2 + i).Resize(UBound(A), 1) = Application.Transpose(A)
Next i

End Sub
Изменено: konstantan - 17.05.2018 14:47:29
Заполнить массив данными с нескольких листов и выгрузить на другой лист
 
проблема явно в этой строке, как осуществить вывод данных из массива в цикле
Код
Sheets("результат").Range(Sheets("результат").Cells(1, 1 + i)).Resize(564, 1) = A
Заполнить массив данными с нескольких листов и выгрузить на другой лист
 
Доброго времени суток,

небольшой вопрос по работе с массивами. необходимо взять данные (столбцы с данными) из ячеек (с одинаковыми координатами )на нескольких листах и выгрузить на лист заданный лист столбец за столбцом. то есть, чтобы в первом столбце были данные с первого листа, во втором со второго и т.д. Попытался таким образом сделать цикл, но он не работает почему то.
Код
Sub Result_rpt()

Dim A()

For i = 0 To 11 - 1
    With Sheets("Лист" & CStr(i + 1))
    A = .Range(.Cells(16, 3), .Cells(579, 3)).Value
    End With
    Sheets("результат").Range(Sheets("результат").Cells(1, 1 + i)).Resize(564, 1) = A
Next i

End Sub
П.С. просто копированием не интересно, хочется как по умному через массив
Код
Sub Result_rpt_copypaste()

Dim iNumberAll As Integer
Dim iNumber As Integer
iNumberAll = InputBox("Введите количество листов")
For iNumber = 0 To iNumberAll - 1
    Sheets("Лист" & CStr(iNumber + 1)).Select
    Range("C16").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("результат").Select
    Worksheets("результат").Cells(1, 2 + iNumber).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    'Sheets("Лист" & CStr(iNumber + 1)).Select
    Sheets("результат").Select
Next iNumber

End Sub
Изменено: konstantan - 16.05.2018 15:21:36
Создание массива со стилем ссылок R1C1., не работает макрос
 
Спасибо! В конечном итоге заработало. Видимо секрет в использовании With... End with. Вот работающий код.
Код
Sub Result_rpt1()
Dim A()
  
With Sheets("Лист2")
A = .Range(.Cells(16, 3), .Cells(579, 3)).Value
End With
Sheets("результат").Range("B1").Resize(564, 1) = A
  
End Sub
Изменено: konstantan - 17.04.2018 08:30:49
Создание массива со стилем ссылок R1C1., не работает макрос
 
Цитата
БМВ написал:
Код ? 12345678910Sub Result_rpt()'Dim A()  'A = Sheets("Лист2").Range("C16:C579").ValueWith Sheets("Лист2")A = .Range(.Cells(16, 3), .Cells(579, 3))End WithSheets("результат").Range("B1").Resize(564, 1) = A  End SubCells у вас ссылались на активный лист, а это не корректно.
этот код почему то тоже на работает. надо видимо как то сделать лист активным, чтобы с него формировался массив)
Создание массива со стилем ссылок R1C1., не работает макрос
 
оказывается если я находясь на "листе2" запускаю макрос он работает, если запускаю макрос находясь на другом листе не работает.  
Создание массива со стилем ссылок R1C1., не работает макрос
 
Так же не работает. Проблема в том, что если определять и выводить массив на том же листе,но в другом месте все работает. А если я определяю массив на одном листе ("Лист2") и пытаюсь вывести на другой ("результат"), то не работает
Код
A = Sheets("результат").Range(Cells(1, 1), Cells(12, 1)).Value 
Sheets("результат").Range("B1").Resize(12, 1) = A
Изменено: konstantan - 17.04.2018 07:50:18
Создание массива со стилем ссылок R1C1., не работает макрос
 
Код
Sub Result_rpt()
Dim A()

'A = Sheets("Лист2").Range("C16:C579").Value
A = Sheets("Лист2").Range(Cells(16, 3), Cells(579, 3)).Value
Sheets("результат").Range("B1").Resize(564, 1) = A

End Sub
макрос не работает. выдает Run-time error '1004'.

но вот такой макрос работает
Код
Sub Result_rpt()
Dim A()

A = Sheets("Лист2").Range("C16:C579").Value
'A = Sheets("Лист2").Range(Cells(16, 3), Cells(579, 3)).Value
Sheets("результат").Range("B1").Resize(564, 1) = A

End Sub
вроде бы
Код
Range("C16:C579") равно Range(Cells(16, 3), Cells(579, 3))
Последовательное накопление значений в переменной
 
Sanja и Nordheim спасибо за ответ.  
Последовательное накопление значений в переменной
 
По прошлой теме нет ответа, на вопрос. Не стал продолжать спрашивать, потому что видимо мои способности задавать вопросы тоже далеки от совершенства. Согласен, что надо было отписаться, что это не ответ на мой вопрос.

По этой теме просто вопрос как накопить кучу строковых данных из ячеек в одной переменной и вывести ее MsgBox.  
Последовательное накопление значений в переменной
 
Судя потому, что на этом форуме вместо ответов на вопросы, сразу переходят на личности действительно не стоит ждать помощи. Да и на прошлый мой вопрос так же не было получено адекватного ответа. :)  
Последовательное накопление значений в переменной
 
Цитата
Hugo написал:
Пост выше совсем непонятен?
Пост выше абсолютно не понятен. Я осознаю, что умение донести свою мысль до собеседника редчайший дар, доступный далеко не каждому.
Последовательное накопление значений в переменной
 
Код
Dim sA, sSA As String
For i = 0 To 99
sA = ThisWorkbook.Worksheets(1).Range(Cells(i + 1, 1).Address).Text
... - здесь должно каким то образом осуществляться накопление значений в переменной sSA
Next i
MsgBox sSA
Изменено: konstantan - 05.10.2017 09:51:08
Последовательное накопление значений в переменной
 
Есть столбец с некоторым количеством данных. Как при помощи цикла преобразовать этот столбец в одну длинную строку, т. е. необходимо накапливать в переменной эти значения и как только цикл закончится вывести их в MsgBox?
Создание текстовых документов по шаблону, сгенерировать несколько текстовых документов изменяя определенные строки
 
Возможно ли реализовать в Excel макрос для создания нескольких текстовых документов по готовому шаблону?
Задача:
1) есть шаблон текстового файла с "пустыми местами" на определенных позициях (например 5 пустых мест)
2) "пустые места" расположены конкретных позициях (например 16 символов от левого края)
3) есть таблица Excel с данными (например таблица из 50 строк и 5 столбцов)

необходимо подставлять в шаблон данные из таблицы в пустые места и создавать отдельный текстовый файл таким образом, чтобы текст шаблона был неизменным, т. е. после вставки данных текст шаблона не сдвигался на число вставляемых символов.

Пример текста. крестиками обозначены позиции куда надо вставлять текст. Текст не может быть больше 8 символов, если меньше оставшиеся символы заменяются пробелами
LOAD    101108 1.      XXXXXXXX 101107 XXXXXXXX 101109 XXXXXXXX 101110
       XXXXXXXX 101111 XXXXXXXX 101112 XXXXXXXX 101113

P.S. пардон за орфографию и пунктуацию
Изменено: konstantan - 05.10.2017 10:08:00
Страницы: 1
Наверх