ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] VBA¦Û°Ê¥[Á`

[µo°Ý] VBA¦Û°Ê¥[Á`

¤p­p³¡¤À¹q¸£²£¥Xªº³£¨S¦³¥[Á`¤½¦¡
·Q¸ÕµÛ¥Î¥¨¶°¥Î¬Û¹ï¦ì¸m¼ÒÀÀ¼gµ{¦¡
¦ý±o¥X¨Óªº³£¬O³oºØ
  ActiveCell.FormulaR1C1 = "=SUM(R[-7]C:RC)"
¦n¹³¨S¿ìªk¥Î

½Ð°Ý¦³«e½ú¯à±Ð¾Ç¶Ü
·PÁÂ

¥[Á`.rar (7.81 KB)

¦^´_ 2# Joforn


  Joforn¹ê¦b¤Ó¯«¤F
½Ð®e³\§Ú¦b¾Ç²ß¤§«e Åý§Ú¥ý½¤«ô±z
«D±`·PÁÂ

TOP

¦^´_ 2# Joforn


¤j®v½Ð°Ý¦pªG
¨C­Ó¶µ¥Øªº¼Æ¶q¤£©T©wªº¸Ü
­n«ç»ò­×§ïµ{¦¡½X©O

·PÁÂ!!

¥[Á`2.rar (8.61 KB)

TOP

¦^´_ 4# popomilk

¦³¿ìªk¦Û°Ê¼g¤J°»´ú¸Ó¶µ¥Ø­n¥[Á`¼Æ¶q¦³´X­Óªº¤èªk¶Ü??
¦Ó¤£¬O
¸ê²£½s¸¹¤@¶}ÀY¶µ¥Ø¦³¨â­Ó=SUM(R[-2]C:R[-1]C)"
¸ê²£½s¸¹¤G¶}ÀY¶µ¥Ø¦³¤­­Ó=SUM(R[-5]C:R[-1]C)
¸ê²£½s¸¹¤T¶}ÀY¶µ¥Ø¦³¤T­Ó=SUM(R[-3]C:R[-1]C)""

«D±`·PÁÂ

TOP

¦^´_ 6# ­ã´£³¡ªL

ª©¥D¤Ó¯«©Ô¡A¯«¤â
¦ý§Ú¹ê¤O¤Ó®z¡A¦³¨Ç¬Ý¤£À´¡A¦V±z½Ð±Ð
1.
For each xR In Range([A2], [A65536].End(3))
½Ð°Ý¨º­ÓRange([A2]], [A65536].End(3))¬O¤°»ò·N«ä©O??
§Úª¾¹D[A65536].End(3)¬OAÄæ±q³Ì¤U­±¤W¨Ó²Ä¤@­Ó«DªÅ¥ÕªºÀx¦s®æ

2.
   If Trim(xR) = "¤p­p" Then
   If N > 0 Then xR(1, 2) = "=SUM(" & Range(xR(0, 2), xR(1 - N, 2)).Address & ")": N = 0
  
½Ð°Ýxr(1,2)¬O¤°»ò·N«ä??

  «D±`·PÁÂ!!

TOP

¦^´_ 9# ­ã´£³¡ªL


ÁÂÁ§Aªº¸ÑÄÀ  §Ú¬ÝÀ´¤F~~¤Ó°ª¿³¤F (§Ú¬ã¨s¤F¦n¤[)
¦ý±µ¤U¨Ó«á­±ÁÙ¬O¬Ý¤£À´
¨º½Ð°Ý¼Ð¬õ¦âªº¬O¤°»ò·N«äªü?? ¨D¯«¤â¦A«×¶}¥Ü
  If Trim(xR) = "¤p­p" Then
If N > 0 Then xR(1, 2) = "=SUM(" & Range(xR(0, 2), xR(1 - N, 2)).Address & ")": N = 0
§Ú²{¦b¤j·§ª¾¹Dªº¬O³o¼Ë¤l
·í¤@¶}©lN¼Æ¨ì4®É (A2-->A5)
¥Ñ©óA5¬O¤p­p
¦]¦¹·íN=4®É·|±Ò°Ê  If Trim(xR) = "¤p­p" Then


xR(0,2)¬O±qA5©¹¤W²¾¤@®æ¡A¨Ã©¹¥k²¾¤@®æ¡A
xR(0,2)=B4
xR(1 - N, 2)¡A·íN¬°4-->xR(-3,2)
xR(-3,2)=¬O±qA5­n©¹¤W²¾¥|®æ¡A¨Ã©¹¥k²¾¤@®æ
xR(-3,2)=B1
Range(xR(0, 2), xR(1 - N, 2)).Address==>$B$1¨ì$B$4ªº½d³ò


³Ì«áªº:N=0¦ü¥G¬O ÅýN­«·sÂk¹sªº¼Ë¤l?
½Ð°Ý§Ú¦b¼ÆNªº®É­Ô³£¬O«öF8¬ÝµÛµ{¦¡¤@­Ó¤@­Ó¼Æ¡A¦³¤°»ò¤èªk¯à°¨¤W¬Ý¨ì²{¦bN¶]¨ì¦h¤Ö¤F¶Ü??



«D±`ÁÂÁ±z¼·¤¾±Ð¾Ç

¹Ï¤ù 003.png (5.05 KB)

¹Ï¤ù 003.png

TOP

¦^´_ 12# ­ã´£³¡ªL

«D±`ÁÂÁ§Aªá®É¶¡¦^ÂÐ
¸g¹L§Aªº±Ð¾Ç¡A§Ú¯uªºÀ´¤F«Ü¦h!! (¼g¤F«Ü¦hµ§°O)Macro1 ¬O¥Î
¦bAÄæ¥Îfor eachªº¥Îªk¡A§ì¥X¤p­pªº¦æ¼Æ
¨Ã¥B¦bÁÙ¨S§ì¨ì¤p­p¤§«e ¤@ª½ÅýNÀHµÛ¦æ¼ÆN+1
¸I¨ì¤p­p®É ±Ò°Êsum ¥[Á`½d³ò¥Î1-Nªº¤è¦¡¸Ñ¨M  (²×©óµy·LÀ´sum¦bVBªº¥Îªk¤F¡A·P°Ê)
¥[Á`«á¡A¦A¥tN=0 ­«·s¶}©l




Macro3 ¬Û¸û©ómacro1ªº¤£¦P
À³¸Ó´N¦bµo²{AÄ檺½s¸¹³£¬O11¦r¤¸¡A
©Ò¥H±NxH = xR(1, 2)
¦b²Ä¤@¦¸¸I¨ìAÄ榳11¦r¤¸®É¥BN=0®É¡A³]©w¤@­ÓÅܼưO¿ý¸Ó¦æªºÀx¦s®æ¦ì¸m¡A¨ÃÅýN¬°1
³Ì«áªºN=1¬OÁקK¦A­«Âг]©wXH³o­ÓÅܼơAÅý¥L´N©T©w¦b²Ä¤@¦¸¸I¨ì11­Ó¦r¤¸®Éªº¨º¦æªºÀx¦s®æ
¦bsum¥[Á`«á¡A­«·sÅýN¬°0
¤§«á¸I¨ì11­Ó¦r¤¸®É¡A¦A­«·s³]©wXHÅܼÆ


ªá¤F¦n¦h®É¶¡¤F¸Ñ³o¨âªk¼gªºÅÞ¿è¤F
«D±`¨ØªA§AªºÁo©ú
µS¦p¤W¤F¤@°ó½Ò

³Ì«á·Q¸ò¸ò§A½Ð±Ð¼Ð¬õ¦rªº³¡¤À

If Trim(xR) = "Á`­p" Then xR(1, 2) = "=SUMIF(R1C[-1]:R[-1]C[-1],""*¤p­p*"",R1C:R[-1]C)"

¤@¯ëexcel
sumif³o­Ó¨ç¼Æ§Ú¬Oª¾¹Dªº
sumif(­n³Q§PÂ_ªº½d³ò°Ï¶¡¡A§PÂ_±ø¥ó,¥[Á`½d³ò)
§Ú¬Ý¤£¤ÓÀ´R1C[-1]
§Ú¬dºô¸ô¤W»¡¬O¬Û¹ï¦ì¸m
¦ý¬O¦pªG¦bexcelÀ³¸Ó¬O­n³]¸m¦¨ =SUMIF(A:A,"*¤p­p*",B:B)
¹ê¦b¬O¬Ý¤£À´ÂনVB»y¨¥«á¬O¥´¦¨³o¼Ë

³Â·Ð¦A½Ð¤j®v¼·¤¾¸Ñµª¤@¤U
«D±`·PÁÂ

TOP

¦^´_ 13# Joforn
·PÁÂJofornªºªá®É¶¡À°§Ú


·Q¦A½Ð±Ð±z¬õ¦â³¡¤À
For I = 1 To EndRow   
½Ð°Ý³oÃä­n«ç»ò¼g¦¨For each
§Ú´«¦¨³o¼Ë¤@ª½Åã¥Ü¿ù»~
For Each I In Range([A1], EndRow)
³o¨âºØ§PÂ_¦¡¬Oºâ¬Û¦P¥\¯àªº¶Ü??

·PÁÂ

TOP

¦^´_ 16# ­ã´£³¡ªL

«D±`ÁÂÁÂ
§Ú³£§Ñ°O¦³³o¤è¦¡¤F!
·PÁ±zªº¤À¨É

TOP

        ÀR«ä¦Û¦b : Ãø¦æ¯à¦æ¡AÃø±Ë¯à±Ë¡AÃø¬°¯à¬°¡A¤~¯àª@µØ¦Û§Úªº¤H®æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD