powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / вопросы новичка
14 сообщений из 14, страница 1 из 1
вопросы новичка
    #33404176
Bodrov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день
1. как на vba будет ключевое слово которое на Си ++ произностится this ( сслыка на текущий объект внутри которого находишься)

2. как получить доступ к переменным определенным в книге
Insert->Name->Define (пункты меню)?

3. как сделать доступным макрос по hot-key во всех открытых книгах ?
(например макрос форматирования страницы)

Заранее спасибо
...
Рейтинг: 0 / 0
вопросы новичка
    #33404326
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1)
Код: plaintext
ME
2) не знаю :-(
3) создать макрос в шаблоне
...
Рейтинг: 0 / 0
вопросы новичка
    #33404345
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по 2
коллекция Names, но она может быть у application, thisworkbook и activesheet.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
вопросы новичка
    #34972638
Фотография бухой бык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть рандж ($A$1:$J$2),
примерно такой
ABCDEFGHJ1Ширина4050607080901001102Цена3035404550556065
Как по нему пройтись, чтобы получить в рекордсет
ШиринаЦена40305035......11035

То есть пройтись хоцца по роу 2, пока не кончится рандже. Как?
...
Рейтинг: 0 / 0
вопросы новичка
    #34972685
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-dukeпо 2
коллекция Names, но она может быть у application, thisworkbook и activesheet.


у sheets тоже есть
...
Рейтинг: 0 / 0
вопросы новичка
    #34972752
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
бухой быкЕсть рандж ($A$1:$J$2),
примерно такой
ABCDEFGHJ1Ширина4050607080901001102Цена3035404550556065
Как по нему пройтись, чтобы получить в рекордсет
ШиринаЦена40305035......11035

То есть пройтись хоцца по роу 2, пока не кончится рандже. Как?

excel 2003
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim i As Integer, j As Integer
       
    For j =  1  To  2 
        For i =  1  To ActiveSheet.Range("A1").SpecialCells(xlLastCell).Column Step  1 
            Cells(i +  5 , j).Value = Cells(j, i).Value
        Next i
    Next j
...
Рейтинг: 0 / 0
вопросы новичка
    #34972782
Фотография бухой бык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где тут ранджк?
...
Рейтинг: 0 / 0
вопросы новичка
    #34973468
LETME
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...транспонировать сначала, а потом загнать в рекордсет.
Глупо, но правда.
А зем вопрос в этм топике было задавать?
...
Рейтинг: 0 / 0
вопросы новичка
    #34973962
Фотография бухой бык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LETMEА зем вопрос в этм топике было задавать?Шоб новых не плодить... А по поику на "имена" вылез среди всех этот с такой темой - очень подходит :)

LETME...транспонировать сначалаЭто поясните что такое и как делать. Более конкретно есть лист как на картинке (ценник) его надо перегнать на СКЛ и получить таблицу в виде:
ШринаВысотаЦена300300203503002140030022450300245003002555030026600300276503002870030029750300308003003185030032.........1000100052
Причём дименщины (300,350,400) могут в будущем быть блее точные и желательно было бы как-то опираться на рэндж "цена".
ну или вообще хоть как-то сделать, но чтобы ексель мог изменять пользователь, т.е. чтобы не было привязано к cells.
...
Рейтинг: 0 / 0
вопросы новичка
    #34975637
Фотография бухой бык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничё не могу придумать, кроме как сделать ещё один шиит и в нём табличку с формулами (тогда инсертить можно сколько хочешь строк и столбцов, а формула будет указывать на то, на что и должна. Типа
StartEndCennyk Nr 1=Markizes!B4=Markizes!Q19
и потом (чтобы знать откуда брать) на неё (а не на имена) ссылаться
типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
Private Type TableRange
    SheetName As String
    StartCell As String
    EndCell As String
End Type

Private Function ExtractTableRAngeInfo(sPriceListname As String) As TableRange

    Dim col As Long
    Dim row As Long
    Dim sRefText As String
    Dim sRefSheet As String
    Dim sFormula As String
    
    row = ActiveWorkbook.Names(sPriceListname).RefersToRange.row
    col = ActiveWorkbook.Names(sPriceListname).RefersToRange.Column
    sFormula = ActiveWorkbook.Sheets("SYS").Cells(row, col +  1 ).Formula
    ExtractTableRAngeInfo.SheetName = _
        Mid(Left(sFormula, InStr(sFormula, "!") -  1 ),  2 )
    ExtractTableRAngeInfo.StartCell = _
        Mid(sFormula, InStr(sFormula, "!") +  1 )
    sFormula = ActiveWorkbook.Sheets("SYS").Cells(row, col +  2 ).Formula
    ExtractTableRAngeInfo.EndCell = _
        Mid(sFormula, InStr(sFormula, "!") +  1 )

End Function

Только жутко не нравится это извращение... Может до завтра хоть ктонибудь подскажит новичку как нормально можно сделать?
...
Рейтинг: 0 / 0
вопросы новичка
    #34975926
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотрите такой вариант.

Начальная матрица расположена на листе "Befor" в именованном диапозоне "ЦЕНЫ"
Значения для затяжки копируются на лист "After"
...
Рейтинг: 0 / 0
вопросы новичка
    #34976003
Фотография бухой бык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исесенно *.count-1 много разумнее чем моё творение ;). Как я сам не додумался, cпасибо!
А "значения для затяжки" копируются как пример, или перед тем как это всё толкать в рекордсет их действительно лучше подготовить на коком нибудь "тэмп" листе?
...
Рейтинг: 0 / 0
вопросы новичка
    #34976076
sqrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не поняла в каком смысле как пример? Вы заносите туда все необходимый данные (свою матрицу значений). Главное не зубудьте потом переопределить Range "ЦЕНЫ", если изениться количество столбцов и строк. Сама матрица может находиться в любом месте страницы.

В коде используется иимя листа и имя ренжа, при копировании кода себе, обратите на это внимание
...
Рейтинг: 0 / 0
вопросы новичка
    #34976729
LETME
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LETME...транспонировать сначалаЭто поясните что такое и как делать. Более конкретно есть лист как на картинке (ценник) его надо перегнать на СКЛ и получить таблицу в виде:


1. выделить диапазон в исходной таблице
2. произвести "специальная вставка" - "транспонировать" => получаете желаемый результат в Excel
3. пишите rst.Open "SELECT F1, F2... FROM [какойтотамлист... диапазон...].... - в результате у Вас заполненный рекордсет.
4. А дальше с ним уж все что вздумается делайте.
5. только вот я по неопытности не знаю -можно ли его добавить одним действием в таблицу ... :/

PS: думаю... - это не прямой вопрос на ответ, но работающее... пусть и кривоватое решение.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / вопросы новичка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]