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

½Ð±Ð¦U¦ì«e½úÃö©óVB ¤@¨Ç°ÝÃD

½Ð±Ð¦U¦ì«e½úÃö©óVB ¤@¨Ç°ÝÃD

§Ú·Q°ÝÃD°ÝÃD¦p¹Ï©Ò¥Ü:


§Ú©Ò¼gªºµ{¦¡¦p¤U:
' Macro11 ¥¨¶°ªí
'
Dim i As Single
Dim j As Single
Dim k As Single
Dim h As Single
Dim x As Range, Y As Range, rng As Range, r As Long '«Å§iÅܼÆ
For j = 1 To 3
For i = 1 To 300
If Cells(1 + i, 38) = Cells(1, 52 + j) Then
Cells(1 + i, 52 + j) = Cells(1 + i, 8)
End If
Next i
Next j
Call tt
End Sub

Public Sub tt()
Dim x As Range, Y As Range, rng As Range, r As Long '«Å§iÅܼÆ
Dim y1 As Range, y2 As Range
For h = 1 To 3
r = Cells(65536, 52 + h).End(xlUp).Row      '¨úªºAÄæ³Ì¤j¦C¦ì
Select Case h
Case 1
Set rng = Range("ba2:ba" & r)      '¨ú±o¸ê®Æ½d³ò
For Each x In rng                  '¸ê®Æ½d³ò¤º¨C¤@Àx¦s®æ
If x = "" Then                     '­YÀx¦s®æ­È¬°""
    If Y Is Nothing Then           'Y­Y¤£¦s¦b
     Set Y = x                     '±NY³]©w¬°x
Else                               '­YY¦s¦b
    Set Y = Union(Y, x)            'µ²¦XY¤Îx¦¨¬°·sªº½d³òY
    End If
End If
Next
If Not Y Is Nothing Then Y.Delete (xlUp) '­YY¦s¦b±NY§R°£

Case 2
Set rng = Range("bb2:bb" & r)      '¨ú±o¸ê®Æ½d³ò
For Each x In rng                  '¸ê®Æ½d³ò¤º¨C¤@Àx¦s®æ
If x = "" Then                     '­YÀx¦s®æ­È¬°""
    If y1 Is Nothing Then           'Y­Y¤£¦s¦b
     Set y1 = x                     '±NY³]©w¬°x
Else                               '­YY¦s¦b
    Set y1 = Union(y1, x)            'µ²¦XY¤Îx¦¨¬°·sªº½d³òY
    End If
End If
Next
If Not y1 Is Nothing Then y1.Delete (xlUp) '­YY¦s¦b±NY§R°£

Case 3
Set rng = Range("bc2:bc" & r)      '¨ú±o¸ê®Æ½d³ò
For Each x In rng                  '¸ê®Æ½d³ò¤º¨C¤@Àx¦s®æ
If x = "" Then                     '­YÀx¦s®æ­È¬°""
    If y2 Is Nothing Then           'Y­Y¤£¦s¦b
     Set y2 = x                     '±NY³]©w¬°x
Else                               '­YY¦s¦b
    Set y2 = Union(y2, x)            'µ²¦XY¤Îx¦¨¬°·sªº½d³òY
    End If
End If
Next
If Not y2 Is Nothing Then y2.Delete (xlUp) '­YY¦s¦b±NY§R°£
End Select
Next h
End Sub

§Ú·Q°ÝªºÃDÃD¦p¹Ï©Ò¥Ü:

¦^´_ 8# GBKEE
§Ú¬O¨Ï¥Î§A¦^´_1ªºµ{¦¡½X°õ¦æµ{¦¡,¦b§A¼gªºµ{¦¡½X¤¤¤w¸g¦³set Y=union(Y,x) ,¶]¥X¨Óªºµ²ªG©óBA columm °õ¦æ§¹µL°ÝÃD,¦ý°õ¦æ¨ìBB column ®É´N·|¥X²{°ÝÃD

TOP

¦^´_ 7# jntseng
³]©wÅܼƠ ¦p«ü©wÅܼƬ°ª«¥ó®É ­n¥[¤W SET Y=union(Y,x)
Union ¤èªk  ¶Ç¦^¨â­Ó©Î¦h­Ó½d³òªº¦X¨Ö½d³ò¡C

TOP

¦^´_ 2# GBKEE
°õ¦æµ{¦¡¦bY=union(Y,x) ·|¥X²{°ÝÃD,¦]¬°°õ¦æ¨ìBB column ´N¥X²{°ÝÃD,¤£ª¾¦³¨S¦³¤°»ò¤èªk¥i¥H¸Ñ©O?

TOP

¦^´_ 5# jntseng
¸Õ¸Õ¬Ý
  1. Sub Ex()
  2.     Dim AR As Range, E As Range
  3.     Set AR = Sheet1.Range("AW3", Sheet1.Range("AW" & Rows.Count).End(xlUp).Offset(-1))
  4.     'Sheet1.Range("AW" & Rows.Count).End(xlUp).Offset(-1)) -> Sheet1.Range("AW" & Rows.Count) "AWÄæ³Ì©³ºÝªºÀx¦s®æ" .End(xlUp) "©¹¤Wªº²Ä¤@­Ó¦³¸ê®ÆªºÀx¦s®æ"
  5.     '.Offset(-1)) ©Ò¦bªºÀx¦s®æ©¹¤W¦ì²¾¤@¦C
  6.     For Each E In AR
  7.     ' ±N E ¥N¼Æ§Aªºµ{¦¡½X¤¤   
  8.     Next
  9. End Sub
½Æ»s¥N½X

TOP

¦^´_ 4# GBKEE
AR ¬O¨ú¨M©ó§Úªþ¥ó¸ÌªºAW3~AW46(¦¹¦a¤è§Ú·|½Æ»s¨ÃÂà¸m¨ìBA1), ¦¹¦a¤è¬O·|ÀH§Úªº¸ê®ÆA¡GAQ  §ïÅÜ(¦¹¦a¤èªº¸ê®Æ¬OÅܰʪº,¤]´N¬O»¡AW2 CHARTID¥Ø«e¬O44­Ó,¦¹ CHARTID ¤£¬O¤@­Ó©w­È)
ÀÉ®×raw data ¦pªþ¥ó©Ò¥Ü:
Book1.rar (47.08 KB)

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2010-8-7 08:06 ½s¿è

¦^´_ 3# jntseng
ªþ¤WÀɮ׬ݬÝ
h%  ->h As Integer
Integer ÅܼƫY¥H½d³ò¬° -32,768 ¨ì 32,767 ¤§ 16 ¦ì¤¸ (2 ­Ó¦ì¤¸²Õ) ¼Æ¦rªº§Î¦¡Àx¦s¡CInteger ªº«¬ºA«Å§i¦r¤¸¬O¦Ê¤À¤ñ²Å¸¹(%)¡C

TOP

¦^´_ 2# GBKEE

½Ð°ÝAR=array ¬O¤£¬O¥i¥HÅܦ¨ÅܼƩO? ¸Ô²Ó¦p¹ÏÀɬõ¦â¦rÅé

°Ý²Ä¤G­Ó°ÝÃD: h% ¥Nªí¤°»ò·N«ä?

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2010-8-5 07:59 ½s¿è

¦^´_ 1# jntseng
Public Sub tt()
    Dim x As Range, Y As Range, rng As Range, r As Long '«Å§iÅܼÆ
    Dim y1 As Range, y2 As Range
    Dim Ar, h%
    Ar = Array("ba2:ba", "bb2:bb", "bc2:bc")
    For h = 0 To UBound(Ar)
        r = Cells(65536, 52 + h+1).End(xlUp).Row      '¨úªºAÄæ³Ì¤j¦C¦ì
        Set rng = Range(Ar(h) & r)    '¨ú±o¸ê®Æ½d³ò
        For Each x In rng                  '¸ê®Æ½d³ò¤º¨C¤@Àx¦s®æ
            If x = "" Then                     '­YÀx¦s®æ­È¬°""
                If Y Is Nothing Then           'Y­Y¤£¦s¦b
                    Set Y = x                    '±NY³]©w¬°x
                    MsgBox Y.Address
                Else                               '­YY¦s¦b
                    Set Y = Union(Y, x)            'µ²¦XY¤Îx¦¨¬°·sªº½d³òY
                End If
            End If
        Next
        If Not Y Is Nothing Then Y.Delete (xlUp) '­YY¦s¦b±NY§R°£
    Next
End Sub

TOP

        ÀR«ä¦Û¦b : ¤Ñ¤W³Ì¬ü¬O¬P¬P¡A¤H¥Í³Ì¬ü¬O·Å±¡¡C
ªð¦^¦Cªí ¤W¤@¥DÃD