Results 1 to 5 of 5

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Registered User MrShadow's Avatar
    Join Date: Jul:2007
    Location: Êúì ãðîáèùàòà
    Posts: 2,606

    Âúïðîñ îòíîñíî VBA (Excel)

    Çäðàâåéòå,
    Èìàì åäíà åêñåëñêà òàáëèöà, êîÿòî ñúì ñè íàïðàâèë äà ñå "ïî÷èñòâàò" ñ ìàêðîñ êëåòêèòå, êúäåòî ìîæå äà ñå ïèøå. Ñåãà èñêàì ïðåäè äà "ïî÷èñòè" (íàâñÿêúäå ïîñòàâÿ íóëè) òåçè êëåòêè äà "ïðåïèøå" ÷àñò îò òÿõ â äðóã Sheet. Èìàì 8 êîëîíêè ñ ïî 10 ðåäà, êàòî ïîñëåäíèÿ ðåä å ñáîð îò ïðåäèøíèòå. Âúçìîæíî å äà íå ñà ïîïúëíåíè âñè÷êèòå 8 êîëîíêè. Êàê äà ãè îáõîäÿ ñ öèêúë (äà êàæåì À1 äî À8)? Ëåñíî ìîãà äà íàïèøà íÿêàêâî ìàðêèðàíå íà êëåêòà + ïðîâåðêà (if) äàëè å ïúëíà, íî âñå ïàê íå å ÷àê òîëêîâà èíòåëèãåíòíî ðåøåíèå, êîëêîòî àêî ïîëçâàì öèêúë äà ãè îáõîæäà(ïúê óòðå àêî ðåøà äà èìàì 300 êîëîíêè êàêâî ïðàâèì...). Ìèñëÿ ñè, àêî ìîæå äà ñå íàïðàâè íÿêàêúâ do - while èëè íåùî ïîäîáíî - ïúðâî äà ãëåäà äàëè å ïúëíà êëåòêàòà àêî å ïúëíà äà ÿ êîïèðà è äà îòèâà íà ñëåäâàùàòà è òí...

    Àêî èìà íà÷èí äà ñå îáðúùàì êúì êëåòêèòå â åêñåë âñå åäíî ñà ïîçèöèÿ â äâóìåðåí ìàñèâ (a[i][j]) ìèñëÿ ùå óñïåÿ äà ñå ñïðàâÿ

  2. #2
    Registered User
    Join Date: Oct:2003
    Location: Ñîôèÿ
    Posts: 4,317
    Íå å ëè ïî-ëåñíî äà ïðåêîïèðàø íà íîâîòî ìÿñòî îñåìòå êîëîíè èçöÿëî?
    Èíà÷å ìîæå äà ñå íàïðàâè ñ öèêúë. Íàïðèìåð ÷ðåç óïîòðåáà íà property Cells. Ñàìî òðÿáâà äà ñå âíèìàâà ñ àäðåñèðàíåòî, ÷å òî å ñïðÿìî òåêóùèÿ Range.
    Îñâåí òîâà â ïîìîùòà èìà öÿëà ñòàòèÿ, îçàãëàâåíà "Looping Through a Range of Cells".

  3. #3
    Registered User MrShadow's Avatar
    Join Date: Jul:2007
    Location: Êúì ãðîáèùàòà
    Posts: 2,606
    Èäåÿòà å, ÷å òîâà íåùî âñúùíîñò å äîêóìåíò, êîéòî ñå ïîïúëâà è ñå ðàçïå÷àòâà. Ïîñëå ñå ïðàâè íîâ (ñ áóòîíà), êàòî ïðåäè òîâà òðÿáâà äà ñå çàïèøàò îïðåäåëåíè íåùà îò äîêóìåíòà - íîìåðà ìó, äàòàòà è ñúîòâåòíèòå ñóìè â êîëîíêèòå.

    Óæ òúðñèõ â ãóãúë (âèæ çà õåëïà íà MS íå ñå ñåòèõ ) àìà òàì íàìåðèõ ñàìî îáõîæäàíå îò ãîðå íà äîëó(èëè îáðàòíîòî) êàòî ñå òúðñè ïîñëåíà ïîïúëíåíà è ñå ìèíàâà ïðèìåðíî íà ñëåäâàùàòà...

    Ñåãà ùå ïðîâåðÿ ñòàòèÿòà

    Åäèò: âèäÿõ ÿ íà áúðçî. Ìèñëÿ ùå ìè ñâúðøè èäåàëíà ðàáîòà. Áëàãîäàðíîñòè è ùå ïèòàì îùå ñêîðî âåðîÿòíî


    Åäèò2: Òîâà If curCell.Value2! = Null âèíàãè ìè âðúùà, ÷å êëåòêàòà å ïðàçíà. Ò.å. âèíàãè óñëîâèåòî å false. Êàêâà ìè å ãðåøêàòà?
    Last edited by MrShadow; 24th November 2009 at 16:13.

  4. #4
    Registered User
    Join Date: Oct:2003
    Location: Ñîôèÿ
    Posts: 4,317
    Ïîìèñëè è äàëè íÿìà äà å äîáðå äà èçïîëçâàø named ranges. Òîâà ñèëíî óëåñíÿâà íàìèðàíåòî èëè îáõîæäàíåòî íà îáõâàòè îò êëåòêè. Íî ïúê å ïðîáëåì, àêî ïîòðåáèòåëÿò ìîæå äà ïðàâè ïðîìåíè ïî òàáëèöàòà, ò.å. äà âìúêâà èëè äà òðèå ðåäîâå è êîëîíè.

  5. #5
    Registered User MrShadow's Avatar
    Join Date: Jul:2007
    Location: Êúì ãðîáèùàòà
    Posts: 2,606
    Òîâà ìè å êîäà:

    Code:
            For Counter = 5 To 12
                Set curCell = Worksheets("Sheet1").Cells(9, Counter)
                If curCell.Value = "" Then
                     Worksheets("M1").Range("A65536").End(xlUp).Offset(1).Value = Worksheets("Sheet1").Range("B5").Value
                     Worksheets("M1").Range("B65536").End(xlUp).Offset(1).Value = Worksheets("Sheet1").Range("E5").Value
                     Worksheets("M1").Range("C65536").End(xlUp).Offset(1).Value = Worksheets("Sheet1").Cell(9, Counter).Value
                     Worksheets("M1").Range("D65536").End(xlUp).Offset(1).Value = Worksheets("Sheet1").Cell(25, Counter).Value
                End If
            Next Counter
    Îáèêàëÿ íóæíèòå êëåòêè è ïðîâåðÿâà. Îáà÷å êàêòî è äà ÿ âúðòÿ ïðîâåðêàòà ò.å.
    Code:
    If curCell.Value = "" Then
    èëè
    Code:
    If curCell.Value! = "" Then
    àêî å ïðàçíà êëåòêàòà, êîÿòî ñå ïðîâåðÿâà òîãàâà ñå èçïúëíÿâàò êîìàíäèòå â If-a. Çàùî òàêà?

    Åäèò: îïðàâèõ ñå ñ ãúðìåíåòî. Ïðîñòî ìîÿ ãðåøêà â äðóãàòà ÷àñò îò òàáëèöàòà Îñòàíà if-a...
    Åäèò2: ÈÄÈÎÒ ñúì!  åêñåë <> ñå ïîçëâà çà ðàçëè÷íî à íå != Òîâà äà ìè å îáè÷êà...

    ---------- Äîáàâåí ïîñëåäâàù êîìåíòàð â 17:27 ---------- Îðèãèíàëíèÿò êîìåíòàð å ïóñíàò â 16:39 ----------

    Íîâ âúïðîñ:

    Èìàì Drop down ìåíþ. Èñêàì äà îáâúðæà âñÿêà îïöèÿ îò íåãî äà ïîïúëâà è äðóãà êëåòêà ñ îïðåäåëåíà ñòîéíîñò (èçáèðàì ñè èìå îò ìåíþòî è â äðóãàòà êëåòêà ñå ïîïúëâà àäðåñ, ïðåäâàðèòåëíî çàäàäåí).

    Îòíîâî ìîëÿ çà íàñîêè (ïî-èíòåðåñíî ìè å äà ñè ðàçáóð÷à ñàì ñëåä êàòî çíàì êúäå îòêîëêîòî äà ìè ñå äàäå íà ãîòîâî ).

    Åäèò: È òîâà ñè ãî íàìåðèõ:
    Code:
    Sub Worksheet_Change(ByVal Target As Range)
    Last edited by MrShadow; 24th November 2009 at 18:02.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè