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

4­ÓVBA°ÝÃD

4­ÓVBA°ÝÃD

²Ä1  sheet1    B1=2  C1=M   
dim n ,i
[D1]="Range("B"& n)   Range("C"& i)"  (¦]¬° Range·|ÅÜ­n³o¼Ë¼g)

²Ä2  ¦n¦h®É§Ú³£¦bsheet1 ¥Î«ö¶srun vba   1¶}©l­n¦bsheet2  §Ú·|¥ý¼g
sheets("sheet2").Select
¦ýsheet2ªº¦W§ï¤F "abc"  ¦bvba¤S­n§ïsheets("abc").Select
¦³¤°»ò¼g §ï¤Fsheet¦W³£¥i¥H¥¿±`run vba.

²Ä3
³o¼Ë¼g¹ï¶Ü?
sheets("sheet2").Range("A1").Value=sheets("sheet1").Range("A1").Value
¦pªG§ï¤Fsheet¦W³£¥i¥Hrun­n¦p¦ó¼g?

²Ä4
³o­Ó«ÜÃø><
sheet2

a1= 10 / ©ú/abc

·ía1¿é¤J1­Ó¼Æor¤å¦r   «örun    if  a1ªº¼Æor¤å¦r¬O²Ä1¦¸¤Jªº®É­Ô  c1·|¥X1   vba·|°O¸ü³o­Ó¼Æor¤å¦r
                                             if  ²Ä2¤J´N c1¥X2 .....................

eg.   
a1=10 > run>c1=1   >   a1=momo>run>c1=1  >    save  execl off execl  >open excel >    a1=momo>run>c1=2  >a1=haha>run>c1=1

¦pªGa1ªº¼Æor¤å¦r¦³ 300¦h­Ó vba¥i¥Hsave¶Ü?

VBA.rar (7.74 KB)

50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

1
  1. [D1]=Range("B" & trim(str(n)) & "  " &  Range("C"& trim(str(i)))
½Æ»s¥N½X
¤£¤Ó©ú§A·Q­nªº¬O¤°»ò

2
  1. sheets(2)
½Æ»s¥N½X
SHEET2 ¤£¤@©w¬O²Ä2, §A¥i¥H¥ý¥Îsheets("abc").index ¨Ó§ä¦ì¸m

3
¸ò²Ä2ÃDªº¦P¤@¹D²z

4 ¦pªG§A·QÃöexcel«á¼Æ¦rÁÙ¦b, ´N­n§ä­Ó¦ì¸m§â¥H¤UdªºªF¦è¦s°_
  1. Sub test()
  2.     Static d
  3.     If IsEmpty(d) Then
  4.         Set d = CreateObject("Scripting.Dictionary")
  5.     End If
  6.     v = Range("a1").Value
  7.     If d.exists(v) Then
  8.         d(v) = d(v) + 1
  9.     Else
  10.         Call d.Add(v, 1)
  11.     End If
  12.     Range("C1") = d(v)
  13. End Sub
½Æ»s¥N½X
À´±oµo°Ý,µª®×´N·|¦b¨ä¤¤

¤µ¤éの¤@¬íは  ©ú¤éにない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

¦^´_ 2# kimbal

1
¬O·Q¦bd1¥X    "[b1]ªº¼Æor¤å¦r    [c1]ªº¼Æor¤å¦r"
eg.   b1=4  c1=t  > d1=  "4  t"

2
¥u­nsheet¤£²¾°Ê,´N¥i¥H¥Îsheets(1).Select¶Ü?¥Îsheets(1).Select  sheet§ï¦W³£ÉN°ÝÃD¶Ü?

4
§ä­Ó¦ì¸m§â¥H¤UdªºªF¦è¦s°_
¤£¬O«Ü©ú.
dim MySave
MySave=d      ??
50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

¦^´_ 3# basarasy
1   [d1]= [b1]&" "&[c1]
2 ¥ÎCodeName         
¦p Sheets("sheet1")  ¬O  Sheet1  ->  Sheet1.Select  
¦p Sheets("sheet2")  ¬O Sheet2  ->  Sheet2.Select  
3 sheets("sheet2").Range("A1").Value=sheets("sheet1").Range("A1").Value
->Sheet2.Range("A1").Value=Sheet1.Range("A1").Value
4 dim MySave
   Set =Sheet1.Range("A65536")      
   MySave.Value=d

TOP

¦^´_ 4# GBKEE

1-3³£©ú¥Õ¤F  ÁÂÁÂ2¦ì¤j¤j

4
Set =Sheet1.Range("A65536")  ³o­Ó¦³°ÝÃD.
¦pªG­ndel   d³o­Ó¼Æ­«ÀY¶}©l¹L,¼g1¥y   MySave.del  ¹ï¶Ü?

¦pªG d  save¤F´X­Ó¼Æ¥i¥H§ï¶Ü?
eg.   as=1    gh=3    hu=10   §Ú¥i¥H¦be1¥´hu ¦bf1¥´9 (a1=hu)   ¤§«árun 1¦¸  c1´N·|¥X10

gtg.JPG (32.18 KB)

gtg.JPG

50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

¦^´_  GBKEE

1-3³£©ú¥Õ¤F  ÁÂÁÂ2¦ì¤j¤j

4
Set =Sheet1.Range("A65536")  ³o­Ó¦³°ÝÃD.
¦pªG­ndel   ...
basarasy µoªí©ó 2010-7-24 20:04


    ¤£¦p§A¥ý¤F¸Ñ¤@¤UStatic  ©M Scripting.Dictionary ¬O¤°»ò.
¤F¸Ñ«á§A´N·|ª¾¹D " eg.   as=1    gh=3    hu=10"  ªº­n¦p¦ó°µ.
¤£©ú¥Õ¥i¥H¦b³o¸Ì°Ý°Ý~

staticªº·N«ä¤j¬ù¬O"¼È¦s" ¦bmodule reset«e·|§â¼Æ­È°O°_¨Ó.
scripting.dictionary¥i°Ñ¦Ò¤@¤U³o¸Ì
http://forum.twbts.com/viewthread.php?tid=20

¦³Ãö¤§«e»¡ªº,§âscripting.dictionaryªº¸m¦s¨ìsheet¤W
¸òª±´åÀ¸¤@¼Ë
¦ba1 ¿é¤JSAVE, ·|§â©Ò¦³¦¸¼Æ©ñ¦bentries¤@­¶,
¦ba1 ¿é¤Jload®É, §â©Ò¦³¦¸¼Æ¥Ñentries¤@­¶´_­ì
  1.    
  2.     Static d
  3.     Set acsht = ActiveSheet
  4.     v = Range("a1").Value
  5.     If v = "LOAD" Then
  6.         d = Null
  7.     End If
  8.    
  9.     If IsEmpty(d) Or IsNull(d) Then
  10.         Set d = CreateObject("Scripting.Dictionary")
  11.         If v = "LOAD" Then
  12.             Sheets("Entries").Select
  13.             If Range("A1") <> "" Then
  14.                 For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
  15.                     v2 = Range("A1").Offset(i - 1)
  16.                     If d.exists(Range("A1").Offset(i - 1)) Then
  17.                         d(v2) = Range("A1").Offset(i - 1, 1)
  18.                     Else
  19.                         Call d.Add(v2, 1)
  20.                     End If
  21.                 Next
  22.             Else
  23.                 d = Null
  24.             End If
  25.             acsht.Select
  26.             Range("C1") = "LOADED"
  27.             Exit Sub
  28.         End If
  29.     Else
  30.         If v = "SAVE" Then
  31.             Sheets("Entries").Select
  32.             Cells.Clear
  33.             dk = d.keys
  34.             di = d.Items
  35.             Range("A1").Resize(UBound(dk) + 1).Value = WorksheetFunction.Transpose(dk)
  36.             Range("B1").Resize(UBound(di) + 1).Value = WorksheetFunction.Transpose(di)
  37.             acsht.Select
  38.             Range("C1") = "SAVED"
  39.             Exit Sub
  40.         End If
  41.     End If
  42.    
  43.     If d.exists(v) Then
  44.         d(v) = d(v) + 1
  45.     Else
  46.         Call d.Add(v, 1)
  47.     End If
  48.     Range("C1") = d(v)
½Æ»s¥N½X
À´±oµo°Ý,µª®×´N·|¦b¨ä¤¤

¤µ¤éの¤@¬íは  ©ú¤éにない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

¦^´_ 6# kimbal
ÁÂÁÂkimbalªº±Ð¾Éstatic¦Pscripting.dictionary,¦ý¬O¤ÓÃø¤F><  ­nºCºC¾Ç.
§A¥´ªºvba¤£¯à¥Î.
¥i¥H³o¼Ë¶Ü?
²Ä1­Ósub  ¼g
Sub test()
    Static d
    If IsEmpty(d) Then
        Set d = CreateObject("Scripting.Dictionary")
    End If
    v = Range("a1").Value
    If d.exists(v) Then
        d(v) = d(v) + 1
    Else
        Call d.Add(v, 1)
    End If
    Range("C1") = d(v)
End Sub

²Ä2­Ósub  ¼g
§âStatic d  save  ¨ì dim MySave
¦pªGvbaªºMySave¤£¯à¦boff excel¦Aopen excel¥Î ´Nsave¦b [z1]

²Ä3­Ósub  ¼g
§âStatic d  ªì´Á¤Æ  del  Static d¤º©Ò¦³ªF¦è(¼Æor¤å¦r)

²Ä4­Ósub  ¼g
a1=hu   run2¦¸   c1·|¥X2
¦be1¥´hu ¦bf1¥´1 (a1=hu)   ¤§«árun 1¦¸  c1´N·|¥X2(³o­Ó¬O§ïStatic d¤J­±ªº¼Æ)

³Ì«á¦³1­Ó°ÝÃD¬O  
MyName = Sheet3.Name      (Sheet3.Name=¤H)

    Range("AA3").Formula = "=IF(MyName!C2="""","""",VLOOKUP(A2,poi!$A$2C$501,3,0))"
³o­Ó¦p¦ó¼g¤~¥i¥H¦baa3¥X  "=IF(¤H!C2="","",VLOOKUP(A2,poi!$A$2C$501,3,0))"
50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

¥»©«³Ì«á¥Ñ kimbal ©ó 2010-7-25 09:58 ½s¿è

¦^´_ 7# basarasy


    ¦³Ãö4ªº°ÝÃD, ©ÎªÌ´«­Ó¤èªk§a
¥Î«e¤£­n§Ñ¤F¥[ entries¤@­¶
  1.     On Error Resume Next
  2.     Dim currRow As Long
  3.     Dim e As Integer
  4.     Dim nextvalue As Integer
  5.     Dim sheetname As String
  6.     sheetname = Worksheets("entries").Name
  7.    
  8.     If sheetname = "" Then
  9.         MsgBox ("Sheet ""entries"" not found!")
  10.         Exit Sub
  11.     End If
  12.     currRow = 0
  13.     v = Range("A1").Value
  14.     e = Range("E1").Value
  15.    
  16.     currRow = WorksheetFunction.Match(v, Worksheets(sheetname).Range("A:A"), False)
  17.     With Worksheets(sheetname)
  18.         If currRow = 0 Then
  19.             currRow = .Range("A65536").End(xlUp).Row + 1
  20.             nextvalue = 1
  21.         Else
  22.             nextvalue = .Range("A1").Offset(currRow - 1, 1) + 1
  23.         End If
  24.         If e > 0 Then
  25.             nextvalue = e
  26.         End If
  27.         .Range("A1").Offset(currRow - 1, 1) = nextvalue
  28.     End With
  29.    
  30.     If currRow > 0 Then
  31.         Range("C1").Value = nextvalue
  32.     End If
½Æ»s¥N½X
¦³Ãöforumlaªº°ÝÃD:
  1. Range("AA3").Formula = "=IF(" & MyName & "!C2="""","""",VLOOKUP(A2,poi!$A$2C$501,3,0))"
½Æ»s¥N½X
À´±oµo°Ý,µª®×´N·|¦b¨ä¤¤

¤µ¤éの¤@¬íは  ©ú¤éにない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

¦^´_ 8# kimbal


    ¦³¤Ö¤Ö°ÝÃD
§Ú·Q­n  if  e1=""   ´N¥¿±`run ,  then   if  e1=a1  f1=2(e1©Mf1³£¬O¤H¤â¥´ªº) then c1¥X2 else end
eg.

a1=30  e1="" > run > c1=1 > run > c1=2 > e1=30 f1=1 > run > c1=f1=1 > e1="" > run > c1=2

½Ð°Ý
AA = "C:\Documents and Settings\Administrator\®à­±\book.xlsm"

Workbooks.Open Filename:=AA  (³o­Ó¥i¥Hrun)

Workbooks.Close Filename:=AA , savechanges:=True  (¬°¤°»ò³o­Ó¤£¯àrun?)

test.rar (15.38 KB)

50 ¦r¸`¥H¤º
¤£¤ä«ù¦Û©w¸q Discuz! ¥N½X

TOP

¥»©«³Ì«á¥Ñ kimbal ©ó 2010-7-25 14:13 ½s¿è

¦^´_ 9# basarasy

¦³Ãö"¦³¤Ö¤Ö°ÝÃD"...
  1. On Error Resume Next
  2.     Dim currRow As Long
  3.     Dim es As String
  4.     Dim e As Integer
  5.     Dim nextvalue As Integer
  6.     Dim sheetname As String
  7.     sheetname = Worksheets("entries").Name
  8.    
  9.     If sheetname = "" Then
  10.         MsgBox ("Sheet ""entries"" not found!")
  11.         Exit Sub
  12.     End If
  13.     currRow = 0
  14.    
  15.     v = Range("A1").Value
  16.     es = Range("E1").Value
  17.     e = Range("F1").Value
  18.     If es <> "" Then
  19.         v = es
  20.     Else
  21.         e = 0
  22.     End If
  23.    
  24.     currRow = WorksheetFunction.Match(v, Worksheets(sheetname).Range("A:A"), False)
  25.     With Worksheets(sheetname)
  26.         If currRow = 0 Then
  27.             currRow = .Range("A65536").End(xlUp).Row + 1
  28.             nextvalue = 1
  29.         Else
  30.             nextvalue = .Range("A1").Offset(currRow - 1, 1) + 1
  31.         End If
  32.         If e > 0 Then
  33.             nextvalue = e
  34.         End If
  35.         .Range("A1").Offset(currRow - 1, 1) = nextvalue
  36.     End With
  37.    
  38.     If currRow > 0 Then
  39.         Range("C1").Value = nextvalue
  40.     End If
½Æ»s¥N½X
Workbooks(AA).Close SaveChanges:=False
Close argument ¤Uªºfilename ¬O¥Î¨Ó«ü©wclose«á§âexcel¦s¦¨·sªºÀɦW,
¦Ó¤£¬O¥Î¨Ó«ü©wÃö¨º­Óbook
À´±oµo°Ý,µª®×´N·|¦b¨ä¤¤

¤µ¤éの¤@¬íは  ©ú¤éにない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

        ÀR«ä¦Û¦b : ·R¤£¬O­n¨D¹ï¤è¡A¦Ó¬O­n¥Ñ¦Û¨­ªº¥I¥X¡C
ªð¦^¦Cªí ¤W¤@¥DÃD