andi_ua
Участник
Offline
|
|
« : 24-04-2008 11:44 » |
|
здраствуйте, вопрос такой нажымаем на ячейку, нужно что б ее координаты сохранялися в другую ячейку с пожальшей ее обробкой.
как такое сделать?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #1 : 24-04-2008 12:09 » |
|
наша пестня хороша начинай сначала Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
ActiveCell.Cells.Address
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #2 : 24-04-2008 12:21 » |
|
ну обясни, не доходит. кнопок на каждого лепить не серйозно. ячеек около 4000 а переключателей не поставиш ексель умерает.
думал так нажал на етот пример его координаты записало в какуюту ячейку а с той ячейки уже строить график
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #3 : 24-04-2008 12:40 » |
|
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
при кликаньи на ячейку запустится этот обработчик он и вернет тебе тебе адрес ячейки
зы мне в лом писать тестовую прграммку
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #4 : 24-04-2008 12:56 » |
|
выдает Invalid use of property
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #5 : 24-04-2008 14:14 » |
|
все таки заставил в модуль ЭтаКнига, в редакторе VB щелкаешь дважды и откроется окошечко Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Excel.Range, Cancel As Boolean) iAddress$ = Target.Address If MsgBox("Почему народ не читает HELP : " & iAddress$, vbYesNo, "") = vbYes Then Cancel = True End Sub
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #6 : 24-04-2008 14:41 » |
|
спасибо большое
|
|
|
Записан
|
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #7 : 25-04-2008 08:39 » |
|
извени что достаю, а что б выдавало тока одну цифру. ты написал так выдает "A5" а что б тока 5 было? не трудно помочь?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #8 : 25-04-2008 09:17 » |
|
Не извиняю , но если нажать две волшебных кнопочки стоя на слове address можно получить следующее Address Property
Hyperlink object (Syntax 1): Returns or sets the address of the target document. Read/write String.
Range object (Syntax 2): Returns the range reference in the language of the macro. Read-only String.
Syntax 1
expression.Address
Syntax 2
expression.Address(RowAbsolute, ColumnAbsolute, ReferenceStyle, External, RelativeTo)
expression Required. An expression that returns a Hyperlink object (Syntax 1) or a Range object (Syntax 2).
RowAbsolute Optional Variant. True to return the row part of the reference as an absolute reference. The default value is True.
ColumnAbsolute Optional Variant. True to return the column part of the reference as an absolute reference. The default value is True.
ReferenceStyle Optional Variant. Can be one of the following XlReferenceStyle constants: xlA1 or xlR1C1. Use xlA1 to return an A1-style reference. Use xlR1C1 to return an R1C1-style reference. The default value is xlA1
External Optional Variant. True to return an external reference. False to return a local reference. The default value is False.
RelativeTo Optional Variant. If RowAbsolute and ColumnAbsolute are False, and ReferenceStyle is xlR1C1, you must include a starting point for the relative reference. This argument is a Range object that defines the starting point.
Remarks
If the reference contains more than one cell, RowAbsolute and ColumnAbsolute apply to all rows and columns.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #9 : 25-04-2008 09:44 » |
|
ну спасибо я уже help читал)) я понял что Address возвращает в виде A5. а как можно оставить тока одну эту 5? так можно?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #10 : 25-04-2008 09:48 » |
|
конечно можно F1 Mid Function
Returns a Variant (String) containing a specified number of characters from a string.
Syntax
Mid(string, start[, length])
The Mid function syntax has these named arguments:
Part Description string Required. String expression from which characters are returned. If string contains Null, Null is returned. start Required; Long. Character position in string at which the part to be taken begins. If start is greater than the number of characters in string, Mid returns a zero-length string (""). length Optional; Variant (Long). Number of characters to return. If omitted or if there are fewer than length characters in the text (including the character at start), all characters from the start position to the end of the string are returned.
Remarks
To determine the number of characters in string, use the Len function.
Note Use the MidB function with byte data contained in a string, as in double-byte character set languages. Instead of specifying the number of characters, the arguments specify numbers of bytes. For sample code that uses MidB, see the second example in the example topic.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #11 : 25-04-2008 11:06 » |
|
розабрался)) как ето можно заминить? ато выдает что силишком длинная формула Range("C5,D5,F5,H5,J5,L5,N5,P5,R5,T5,V5,X5,Z5,AB5,AD5,AF5,AH5,AJ5,AL5").Select Range("AL5").Activate
|
|
|
Записан
|
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #12 : 25-04-2008 12:11 » |
|
и еще как можно сделать А5 что б "5" задавалась в програме
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #13 : 25-04-2008 13:12 » |
|
сформулируй свои вопросы, ничего не понял
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #14 : 25-04-2008 13:15 » |
|
как можно сделать так что б ячейка А5 а сама цыфра "5" задавалась в макросе
|
|
|
Записан
|
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #15 : 25-04-2008 13:18 » |
|
сделал запись макроса, когда повторяю то выдает ошыбку "слишком большая формула" на скока понимаю сдесь выдиляет рядок Charts.Add
Range("C5,D5,F5,H5,J5,L5,N5,P5,R5,T5,V5,X5,Z5,AB5,AD5,AF5,AH5,AJ5,AL5").Select Range("AL5").Activate Charts.Add
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #16 : 25-04-2008 13:18 » |
|
О себе : если туп как дерево - родишься баобабом (с)
еще раз, подробно, ЧТО ТЫ ХОЧЕШЬ получить. Опиши действия.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #17 : 25-04-2008 13:26 » |
|
вопшем то что ты помог до етого. нажымеш на ячейку она сохраняет например А5 удаляетца буква отаетца тока одна цыфра. и ету цыфру чтоб подставляло для других букв(B,C,D) и т д. чтоб по етим рисовало график код для 6 значений такой
Sub kil() ' ' kil Макрос ' Макрос записан 24.04.2008 (Zver) '
Range("A2,B2,D2,F2,H2,J2").Select Range("J2").Activate Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("Лист2").Range("A2,B2,D2,F2,H2,J2") ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист2" End Sub
а для 30 выдает ошыбку что слишком большая формула
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #18 : 25-04-2008 13:29 » |
|
А если формулу делать в духе A2:J2? Или у тебя данные в ячейках "через одну"?
|
|
|
Записан
|
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #19 : 25-04-2008 13:30 » |
|
они идут не по порядку а через одну
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #20 : 25-04-2008 13:41 » |
|
а для 30 выдает ошыбку что слишком большая формула
Ключевая фраза. Есть ограничение на количество диапазонов Как выйти из этой ситуации? Создать "временный лист", в него записать в непрерывном диапазоне данные для графика, построить график или Выделить на этом листе место, благо, его еще много, и туда скопировать данные в непрерывный диапазон для графика, построить график
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #21 : 25-04-2008 13:56 » |
|
спасибо и к "баобабом (с)" доходит
а на щет того что б вставлять Range("A3,B3,D3,F3,H3,J3,L3,N3,P3,R3,T3,V3,X3,Z3,AB3,AD3").Select Range("AD3").Activate нужную цыфру? она уже есть просто как ее поставить вместо "3" или не понятно обяснил?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #22 : 25-04-2008 14:01 » |
|
Range("A"+"5"+","+.....).Select Range("AD"+"5").Activate
ps баобабы - это ко мне,а не к тебе.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #23 : 25-04-2008 14:20 » |
|
ну например вот так можно как-то сделать? I = 2 Range("A" + "I", "B" + "I").Select Range("B" + "I").Activate
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #24 : 25-04-2008 14:37 » |
|
andi_ua, давай шевелить мозгами "I" это I а если попробывать r = "A" + I + "B" print r
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #25 : 25-04-2008 19:22 » |
|
, выдает ошибку Wrong namber of argument or invalid property assigment вот код может че не правильно? Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Excel.Range, Cancel As Boolean) iAddress$ = Target.Address Mid(iAddress$, 2) = " " iAddress$ = I Range("A" + I, "B" + I, "D" + I).Select Range("D" + I).Activate Application.CutCopyMode = False Selection.Copy Sheets("Лист2").Select ActiveSheet.Paste Application.CutCopyMode = False Charts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SetSourceData Source:=Sheets("Лист2").Range("A" + I, "B" + I, "D" + I) ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1" End Sub End Sub
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #26 : 26-04-2008 09:36 » |
|
Aaaa, убейте миня ап стену я привел условный код тебе интерпретатор ВСЁ сказал, Wrong namber of argument or invalid property assigment а это!!!!? iAddress$ = Target.Address Mid(iAddress$, 2) = " " iAddress$ = I ну рааскажи что ты написал
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
|
Sla
|
|
« Ответ #28 : 26-04-2008 16:53 » |
|
andi_ua, сделай так
Address$ = Target.Address Расскажи что делается в этой строке
Mid(iAddress$, 2) = " "
Расскажи что делается в этой строке
iAddress$ = I Расскажи что делается в этой строке
Потом продолжим...
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
andi_ua
Участник
Offline
|
|
« Ответ #29 : 29-04-2008 07:31 » |
|
Address$ = Target.Address записываете адрес ячейки в Address$
Mid(iAddress$, 2) = " " убирает букву из адреса
iAddress$ = I
сохраняет строковую переменную в цифровую
|
|
|
Записан
|
|
|
|
|