Ïåðåéòè íà äîìàøíþþ ñòðàíèöó Àíäðåÿ Ãåðàñèìîâà Ñàéò Àíäðåÿ Ãåðàñèìîâà
�àçãîâîðû îá Àìåðèêå
www.gerasimov.org
 
 ÏðàâèëàÏðàâèëà FAQFAQ   ÏîèñêÏîèñê   ÏîëüçîâàòåëèÏîëüçîâàòåëè   ÃðóïïûÃðóïïû   ÐåãèñòðàöèÿÐåãèñòðàöèÿ 
 ÏðîôèëüÏðîôèëü   Âîéòè è ïðîâåðèòü ëè÷íûå ñîîáùåíèÿÂîéòè è ïðîâåðèòü ëè÷íûå ñîîáùåíèÿ   ÂõîäÂõîä 

Microsoft Excel
Íà ñòðàíèöó Ïðåä.  1, 2
 
Íà÷àòü íîâóþ òåìó   Îòâåòèòü íà òåìó    Ñïèñîê ôîðóìîâ Ã�àçãîâîðû îá Àìåðèêå -> Ã�ðî êîìïû
Ïðåäûäóùàÿ òåìà :: Ñëåäóþùàÿ òåìà  
Àâòîð Ñîîáùåíèå
Oleg_Msk
Æèòåëü ôîðóìà


Çàðåãèñòðèðîâàí: 30.09.2004
Ñîîáùåíèÿ: 1000

ÑîîáùåíèåÄîáàâëåíî: Ïÿòíèöà, Íîÿáðÿ 25, 2005 4:54pm    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

White Owl ïèñàë(à):
Oleg_Msk ïèñàë(à):
À ìîæíî ëþáîé ïðèìåð ðàçîáðàòü? �ðîñòî ÿ îòêðûë VB ïî F11..

�å ïóòàé. VB è VBA ýòî î÷åíü ðàçíûå âåùè.
VB ýòî ñàìîñòîÿòåëüíûé ÿçûê Visual Basic. �à íåì ìîæíî äåëàòü âñå ÷òî óãîäíî.
VBA - Visual Basic for Applications. Âñòðàåâûìûé ÿçûê. Åãî âîçìîæíîñòè îãðàíè÷åíû òîëüêî ðàáîòîé ñ äîêóìåíòîì òîãî ïðèëîæåíèÿ â êîòîðûé åãî âñóíóëè. �î òàì îí öàðü è áîã. Èíîãäà òî ÷òî ìîæíî ñäåëàòü íà VBA â ïðèíöèïå íåâîçìîæíî ñäåëàòü íà VB.
Ó VB è VBA ñîâðåøåííî ðàçíûå ïîäõîäû. �à VB ãëàâåíñòâóåò ïðîãðàììà, íà VBA - äîêóìåíò.
�óòàòü VB è VBA ýòî êàê ñêëàäñêîé ïîãðóç÷èê ïóòàòü ñ êàðüåðíûì ñàìîñâàëîì Óëûáêà

À ïðèìåð... íó äàâàé íà÷íåì ñ ÷åãî-íèáóäü ïðîñòåíüêîãî. �àïðèìåð ïîäñ÷èòàòü êîëè÷åñòâî óïîìèíàíèé êàêîãî íèáóäü ïðåäìåòà íà ëèñòå. Äåëàåøü â �êñåëå ñòðàíè÷êó ñ íàçâàíèåì "Fruits" è íà íåé â ñòîëáèê ïèøåøü:
Êîä:
ßáëîêî
Ãðóøà
ßáëîêî
ßáëîêî
Ãðóøà
Ëèìîí

Òåïåðü òûêàåøü Alt+F11 è â ãëàâíîì ìåíþ âûáèðàåøü Insert->Module.
 îòêðûâøåìñÿ îêîøêå ïèøåøü:
Êîä:
Sub CountFruits()
    Dim wsSrc As Worksheet, wsDest As Worksheet
    Dim rSrc As Range, rDest As Range
   
    Set wsSrc = ThisWorkbook.Worksheets("Fruits")
    Set wsDest = ThisWorkbook.Worksheets.Add
    wsDest.Range("A1") = "Fruit"
    wsDest.Range("B1") = "Count"
   
    For Each rSrc In wsSrc.UsedRange
        Set rDest = wsDest.Columns(1).Find(rSrc.Text)
        If rDest Is Nothing Then
            Set rDest = wsDest.Cells(wsDest.UsedRange.Rows.Count + 1, 1)
            rDest.Value = rSrc.Text
        End If
        rDest.Offset(0, 1).Value = rDest.Offset(0, 1).Value + 1
    Next
End Sub

Òåïåðü çàêðûâàåøü VBA, â îñíîâíîì îêíå Excel íàæèìàåøü Alt+F8, âûáèðàåøü èç ñïèñêà ìàêðîñîâ íàø CountFruits è íàæèìàåøü Run. È âñå. �ó åñëè çíàåøü VB, òî ðàçîáðàòüñÿ áóäåò íå ñëîæíî Óëûáêà
À äàëüøå, çàäàâàé êîíêðåòíûå âîïðîñû, áóäåì äàâàòü êîíêðåòíûå îòâåòû.

Âîò ýòî:
Oleg_Msk ïèñàë(à):
íó íàïðèìåð, ñòðîêà åñòü ó ìåíÿ ñ ïëþñèêîì âïåðåäè, êîãäà ìû íàæèìàåì íà ïëþñèê, ðàñêðûâàåòñÿ äîïîëíèòåëüíàÿ èíôîðìàöèÿ, âíèç îò ýòîé ñòðîêè, âðîäå êàê ìåíþ ðàñêðûâàþùåãîñÿ...

�ðèìåð î÷åíü íåêîíêðåòíîãî âîïðîñà. È âîîáùå íå ïîíÿòíî, âîïðîñ ëè ýòî? �ó åñòü ó òåáÿ ñòðîêà ñ ïëþñèêîì è ÷òî?

ÂÎ!!Ñïàñèáî!Âíèêàþ ïîñòåïåííî, ñêà÷àë òðè êíèãè îñëîì.......�ðàâäà êîä íå ðàáîòàåò, íå çíàþ ïî÷åìó, ìîæåò ÿ ÷òî êðèâî äåëàþ.....
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå
Helen_NJ
Æèòåëü ôîðóìà


Çàðåãèñòðèðîâàí: 13.11.2003
Ñîîáùåíèÿ: 1539
Îòêóäà: NC, USA

ÑîîáùåíèåÄîáàâëåíî: Ñóááîòà, Íîÿáðÿ 26, 2005 5:53am    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

Oleg_Msk ïèñàë(à):
âîò â äàííûé ìîìåíò ýòî äåëàåòñÿ ðóêàìè è àêòóàëüíî áûëî áû ñäåëàòü ìàêðîñ.....è çàîäíî ïëîòíåíüêî ñ ýòèì ðàçîáðàòüñÿ, èáî ó ìåíÿ òóò ïðîáåë.....


�ó òàê çàïèøèòå òî, ÷òî äåëàåòñÿ ðóêàìè, êàê ìàêðî (Macro -> Record) è ïîòîì êðîèòå ýòîò êîä êàê íàäî. �å çíàþ �àñ÷åò "ïðîáåëà" íå ïîíÿòíî - òàê âû VB/VBA çíàåòå èëè íåò? Êàê òóò ïðàâèëüíî çàìåòèëè, ýòî â ïðèíöèïå ðàçíûå âåùè, íî, çíàÿ îäíî, ñ äðóãèì ðàçîáðàòüñÿ ìîæíî íà ðàç.
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå Îòïðàâèòü e-mail Ïîñåòèòü ñàéò àâòîðà
White Owl
Øòàòíûé çàíóäà


Çàðåãèñòðèðîâàí: 10.03.2003
Ñîîáùåíèÿ: 2452
Îòêóäà: USA, New York City

ÑîîáùåíèåÄîáàâëåíî: Âîñêðåñåíüå, Íîÿáðÿ 27, 2005 8:43pm    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

Àðòåì ïèñàë(à):
È âîò åñëè ìíå íàäî áóäåò ýòó çàäà÷ó ñäåëàòü, òî âîò ýòî íàäî êà÷àòü. À åñëè âîí òó çàäà÷ó, òî âîò ýòî êà÷àòü? ß òàê òîëüêî è áóäó - êà÷àòü.

�ó ïî÷åìó áû è íåò? Åñëè ó òåáÿ åñòü çàäà÷à è òû çíàåøü ÷òî ãäå-òî åñòü èíñòðóìåíò ýòó çàäà÷ó ðåøàþùèé íà óðà. �î÷åìó áû íå ïîéòè è íå âçÿòü ýòîò èíñòðóìåíò? Òåì áîëåå çà áåñïëàòíî? Óëûáêà
Åñëè îí ñëèøêîì òÿæåëûé äëÿ òâîåãî êàíàëà, ìîæíî çàïîìíèâ òî÷íûé àäðåñ ñõîäèòü ê êîìó-íèáóäü ñ òîëñòûì êàíàëîì. ß îáû÷íî õîäèë â îôèñ ïðîâàéäåðà êàêîãî-íèáóäü ñòàâèë ïèâî òàìîøíèì àäìèíàì è ïîëó÷àë âñå ÷òî íóæíî Óëûáêà
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå Îòïðàâèòü e-mail MSN Messenger
White Owl
Øòàòíûé çàíóäà


Çàðåãèñòðèðîâàí: 10.03.2003
Ñîîáùåíèÿ: 2452
Îòêóäà: USA, New York City

ÑîîáùåíèåÄîáàâëåíî: Âîñêðåñåíüå, Íîÿáðÿ 27, 2005 8:46pm    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

Oleg_Msk ïèñàë(à):
�ðàâäà êîä íå ðàáîòàåò, íå çíàþ ïî÷åìó, ìîæåò ÿ ÷òî êðèâî äåëàþ.....

À ñëàáî ñêàçàòü ÷òî êîíêðåòíî íå ðàáîòàåò?  êàêîì ìåñòå? Ñ êàêîé äèàãíîñòèêîé? Ó ìåíÿ îíî ðàáîòàåò. À åñëè ñêàæåøü ÷òî èìåííî ó òåáÿ íå ïîëó÷àåòñÿ - ñêàæó ãäå îøèáêà çàêðàëàñü.
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå Îòïðàâèòü e-mail MSN Messenger
Àðòåì
Ìîäåðàòîð


Çàðåãèñòðèðîâàí: 10.03.2003
Ñîîáùåíèÿ: 8295
Îòêóäà: Russia, Ufa

ÑîîáùåíèåÄîáàâëåíî: Âîñêðåñåíüå, Íîÿáðÿ 27, 2005 9:08pm    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

White Owl ïèñàë(à):
Àðòåì ïèñàë(à):
È âîò åñëè ìíå íàäî áóäåò ýòó çàäà÷ó ñäåëàòü, òî âîò ýòî íàäî êà÷àòü. À åñëè âîí òó çàäà÷ó, òî âîò ýòî êà÷àòü? ß òàê òîëüêî è áóäó - êà÷àòü.

�ó ïî÷åìó áû è íåò? Åñëè ó òåáÿ åñòü çàäà÷à è òû çíàåøü ÷òî ãäå-òî åñòü èíñòðóìåíò ýòó çàäà÷ó ðåøàþùèé íà óðà. �î÷åìó áû íå ïîéòè è íå âçÿòü ýòîò èíñòðóìåíò? Òåì áîëåå çà áåñïëàòíî? Óëûáêà
Åñëè îí ñëèøêîì òÿæåëûé äëÿ òâîåãî êàíàëà, ìîæíî çàïîìíèâ òî÷íûé àäðåñ ñõîäèòü ê êîìó-íèáóäü ñ òîëñòûì êàíàëîì. ß îáû÷íî õîäèë â îôèñ ïðîâàéäåðà êàêîãî-íèáóäü ñòàâèë ïèâî òàìîøíèì àäìèíàì è ïîëó÷àë âñå ÷òî íóæíî Óëûáêà


Ìíå íåãäå áðàòü "òîëñòûé êàíàë".
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå Ïîñåòèòü ñàéò àâòîðà
Oleg_Msk
Æèòåëü ôîðóìà


Çàðåãèñòðèðîâàí: 30.09.2004
Ñîîáùåíèÿ: 1000

ÑîîáùåíèåÄîáàâëåíî: Âîñêðåñåíüå, Íîÿáðÿ 27, 2005 10:13pm    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

White Owl ïèñàë(à):
Oleg_Msk ïèñàë(à):
�ðàâäà êîä íå ðàáîòàåò, íå çíàþ ïî÷åìó, ìîæåò ÿ ÷òî êðèâî äåëàþ.....

À ñëàáî ñêàçàòü ÷òî êîíêðåòíî íå ðàáîòàåò?  êàêîì ìåñòå? Ñ êàêîé äèàãíîñòèêîé? Ó ìåíÿ îíî ðàáîòàåò. À åñëè ñêàæåøü ÷òî èìåííî ó òåáÿ íå ïîëó÷àåòñÿ - ñêàæó ãäå îøèáêà çàêðàëàñü.

Îò÷åâî æ íå ñêàæó -ñêàæó:
Run-time error '9':
Subscript out of range
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå
White Owl
Øòàòíûé çàíóäà


Çàðåãèñòðèðîâàí: 10.03.2003
Ñîîáùåíèÿ: 2452
Îòêóäà: USA, New York City

ÑîîáùåíèåÄîáàâëåíî: Ïîíåäåëüíèê, Íîÿáðÿ 28, 2005 12:47am    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

Oleg_Msk ïèñàë(à):
Run-time error '9':
Subscript out of range

À åñëè â ýòîì äèàëîãå íàæàòü êíîïî÷êó Debug, òî îíî ïîêàæåò åùå è â êàêîé ñòðîêå îøèáêà ïðîèçîøëà....
À ñêîðåå âñåãî îøèáêà ïðîèçîøëà â ñòðîêå
Êîä:
Set wsSrc = ThisWorkbook.Worksheets("Fruits")

�îòîìó ÷òî òû ïîëåíèëñÿ ïåðåèìåíîâàòü ëèñò ñ ôðóêòàìè â "Fruits" à îñòàâèë åãî êàê îí áûë "Ëèñò1" èëè ïåðåèìåíîâàë ñ îøèáêîé. ß óãàäàë?
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå Îòïðàâèòü e-mail MSN Messenger
Oleg_Msk
Æèòåëü ôîðóìà


Çàðåãèñòðèðîâàí: 30.09.2004
Ñîîáùåíèÿ: 1000

ÑîîáùåíèåÄîáàâëåíî: Ïîíåäåëüíèê, Íîÿáðÿ 28, 2005 7:11am    Çàãîëîâîê ñîîáùåíèÿ: Îòâåòèòü ñ öèòàòîé

White Owl ïèñàë(à):
Oleg_Msk ïèñàë(à):
Run-time error '9':
Subscript out of range

À åñëè â ýòîì äèàëîãå íàæàòü êíîïî÷êó Debug, òî îíî ïîêàæåò åùå è â êàêîé ñòðîêå îøèáêà ïðîèçîøëà....
À ñêîðåå âñåãî îøèáêà ïðîèçîøëà â ñòðîêå
Êîä:
Set wsSrc = ThisWorkbook.Worksheets("Fruits")

�îòîìó ÷òî òû ïîëåíèëñÿ ïåðåèìåíîâàòü ëèñò ñ ôðóêòàìè â "Fruits" à îñòàâèë åãî êàê îí áûë "Ëèñò1" èëè ïåðåèìåíîâàë ñ îøèáêîé. ß óãàäàë?

Òî÷íî!Òû ïðàâ!
/óøåë ïîñûïàòü ãîëîâó ïåïëîì/ Ñìåõ
Âåðíóòüñÿ ê íà÷àëó
Ïîñìîòðåòü ïðîôèëü Îòïðàâèòü ëè÷íîå ñîîáùåíèå
Ïîêàçàòü ñîîáùåíèÿ:   
Íà÷àòü íîâóþ òåìó   Îòâåòèòü íà òåìó    Ñïèñîê ôîðóìîâ Ã�àçãîâîðû îá Àìåðèêå -> Ã�ðî êîìïû ×àñîâîé ïîÿñ: GMT
Íà ñòðàíèöó Ïðåä.  1, 2
Ñòðàíèöà 2 èç 2

 
Ïåðåéòè:  
Âû íå ìîæåòå íà÷èíàòü òåìû
Âû íå ìîæåòå îòâå÷àòü íà ñîîáùåíèÿ
Âû íå ìîæåòå ðåäàêòèðîâàòü ñâîè ñîîáùåíèÿ
Âû íå ìîæåòå óäàëÿòü ñâîè ñîîáùåíèÿ
Âû íå ìîæåòå ãîëîñîâàòü â îïðîñàõ


Powered by phpBB © 2001, 2005 phpBB Group