Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb6 vb中的按钮点击事件_Vb6_Excel_Vba - Fatal编程技术网

Vb6 vb中的按钮点击事件

Vb6 vb中的按钮点击事件,vb6,excel,vba,Vb6,Excel,Vba,我是VB的新手。我希望在单击第一个按钮时将值存储在数组中,并在单击第二个按钮时显示结果。我成功地将值存储在数组中。但是我无法在第二次按钮单击事件中访问相同的数组 Dim i As Integer Dim ag(0 To 7000) As String Dim bg(0 To 7000) As String Private CommandButton1_Click() i = 0 Sheets("New").Select Range("B2").Select While No

我是VB的新手。我希望在单击第一个按钮时将值存储在数组中,并在单击第二个按钮时显示结果。我成功地将值存储在数组中。但是我无法在第二次按钮单击事件中访问相同的数组

Dim i As Integer
Dim ag(0 To 7000) As String
Dim bg(0 To 7000) As String

Private CommandButton1_Click()
  i = 0

  Sheets("New").Select
  Range("B2").Select

  While Not IsEmpty(ActiveCell)
    ag(i) = ActiveCell.Value
    i = i + 1
    ActiveCell.Offset(1, 0).Select
  Wend

  i = 0

  Sheets("New").Select
  Range("D2").Select

  While Not IsEmpty(ActiveCell)
    bg(i) = ActiveCell.Value
    i = i + 1
    ActiveCell.Offset(1, 0).Select
  Wend
End Sub

Private CommandButton2_Click()
  UserForm1.Hide
End Sub

Private Sub Cell_Click()
End Sub

Private Sub CommandButton1_Click()
End Sub

Private Sub CommandButton2_Click()
End Sub
任何人都可以帮我。

尼米

我的帖子不是关于回答你的主要问题:)如果你看肯和科迪的评论,你会自动意识到答案是什么;)

当我看到你的代码和你说你是新手时,我忍不住要发表评论。我记得我学习编码的日子,像这样的论坛实际上帮助我提高了编码技能。所以你可以认为这是一个回报:-D

1)在您的情况下,将i暗显为整数也可以但是当您处理更大的行(例如32768行)时会发生什么。在VBA Excel中工作时,只要时间长,就可以安全地暗显i

2)。选择是在VBA中工作时出现错误的主要原因,更不用说它们会降低代码的速度。同样的代码也可以编写为下面给出的代码。我假设第一行和最后一行之间没有空白值

Dim i As Long
Dim ag(0 To 7000) As String
Dim bg(0 To 7000) As String
Dim ws As Worksheet

Private CommandButton1_Click()
    Set ws = Sheets("New")

    With ws
        For i = 2 To .Range("B" & .Rows.Count).End(xlUp).Row
            ag(i) = .Range("B" & i).Value
        Next
        For i = 2 To .Range("D" & .Rows.Count).End(xlUp).Row
            bg(i) = .Range("D" & i).Value
        Next
    End With
End Sub
是的,快乐编码;)


Sid

发布问题时,可以在输入点下方实时预览问题(尤其是代码格式)。这样做是个好主意,这样你的帖子对那些试图阅读帮助你的人来说就更清晰了。(如果格式正确,也意味着其他人不必花时间这么做。)清晰的问题(包括清晰的代码格式)有助于您更快地得到答案。:)另外,在点击第二个按钮时访问它们的问题是,您没有这样做。您的
CommandButton2\u Click()
处理程序只是隐藏了
Userform
-该如何访问由`CommandButton1\u Click()创建的数组?“但我无法在第二个按钮单击事件中访问同一数组。”为什么不呢?阅读时,它应该可以工作-数组在两个例程的范围内。如果单击IDE中的“停止”按钮,该数组可能会被清除,从而从程序中删除所有运行状态。你在这么做吗?代码看起来不对。例如:
Private CommandButton1\u Click()
无效(Sub在哪里?)并且您有重复的方法声明(如果您修复了损坏的方法声明)