Excel宏,发送用户';s数据

Excel宏,发送用户';s数据,excel,vba,macros,Excel,Vba,Macros,所以我目前正在学习SQL Server,但现在我只是在学习期间从事标准的办公室管理工作。 我以前从未真正做过宏,对VB了解很少,但我决定为工作设计一个宏,让我的团队更轻松一些。 宏只是非常简单地允许用户输入数据、统计数据等,并给出百分比或平均统计数据,从而得出一个总数,让用户知道当天、周、月等统计数据是否被命中。 它工作得很好,但我想添加一个“提交”按钮,当用户单击它时,它会将他们在指定单元格中输入的数据发送给我自己。我不知道该怎么做,如果需要的话,我在工作中没有访问SQL、Visual Stu

所以我目前正在学习SQL Server,但现在我只是在学习期间从事标准的办公室管理工作。 我以前从未真正做过宏,对VB了解很少,但我决定为工作设计一个宏,让我的团队更轻松一些。 宏只是非常简单地允许用户输入数据、统计数据等,并给出百分比或平均统计数据,从而得出一个总数,让用户知道当天、周、月等统计数据是否被命中。 它工作得很好,但我想添加一个“提交”按钮,当用户单击它时,它会将他们在指定单元格中输入的数据发送给我自己。我不知道该怎么做,如果需要的话,我在工作中没有访问SQL、Visual Studio等系统的权限,正如刚才所说的,只是目前的基本管理工作

是否需要作为CSV提交?或者可以从用户的工作表直接提交到我设计的另一个宏上,为整个团队提供结果?如前所述,我对这个想法完全陌生


大家好。

好吧,根据您在一个非常简单的方法中可能需要做的事情,您需要做的第一件事是知道他们要在哪里输入信息的单元格(注意范围),让我们假设在这个示例中,我们只在团队工作表的第一个单元格中输入了一个数据。因此,创建一个名为“button1”的按钮或您希望的按钮,并在单击事件中使用以下代码:

Private Sub button1_click()

Teamsheet.Cells(row,column) = Yoursheet.Cells(destinyrow,destinycolumn)

End Sub
这会将值从一个工作表复制到另一个工作表,现在,如果您通过密码锁定了工作表,则必须先解锁它,然后再次锁定它,这样代码将如下所示:

Private Sub button1_click()

  On Error Resume Next
    yoursheet.unprotect password:="yourpassword"
    Teamsheet.Cells(row,column) = Yoursheet.Cells(destinyrow,destinycolumn)
  On Error Resume Next
    yoursheet.PROTECT password:="yourpassword"

End Sub
Teamsheet.Range("A1:D3").Value = yoursheet.Range("A1:D3").Value
我要澄清的是,这是一种非常简单的方法,因此,如果您使用特定的单元格,您可以一个接一个地进行复制(这样您就可以在管理表上进行anny计算),但当您复制范围时,应该是这样的:

Private Sub button1_click()

  On Error Resume Next
    yoursheet.unprotect password:="yourpassword"
    Teamsheet.Cells(row,column) = Yoursheet.Cells(destinyrow,destinycolumn)
  On Error Resume Next
    yoursheet.PROTECT password:="yourpassword"

End Sub
Teamsheet.Range("A1:D3").Value = yoursheet.Range("A1:D3").Value
<>也要考虑他们是如何输入你需要的数据的。 更新:

假设您有一个团队工作簿,您的是管理工作簿,概念类似。此代码将执行您需要的操作,但两个工作簿应位于同一文件夹或路径:

Private Sub button1_click()
   Var_data = Teamsheet.Cells(row,column)
   Application.ScreenUpdating = False
   Workbooks.Open Filename:=ThisWorkbook.Path & "\admin_workbook.xls"
   ThisWorkbook.Activate
   Admin_sheet.Cells(destinyrow,destinycolumn) = var_data
   Workbooks("admin_workbook.xls").Close SaveChanges:=True
   Application.ScreenUpdating = True
End Sub
首先捕获变量上的数据,然后打开管理手册,将数据放在所需的单元格中,然后关闭工作簿保存更改(您决定是保持此行还是保持工作簿打开并手动保存)。另外,Application.screenUpdated这是一行代码,它可以帮助您在工作簿之间切换时屏幕不会闪烁


希望对朋友有帮助

当你说你想给自己发送数据时,你谈论的是一封以excel手册作为附件的邮件?不,我的意思是,如果可能的话,只提取数据。因此,如果我的团队使用的是“macro_user”,我自己也有“macro_owner”,我希望用户在“macro_user”中输入的数据被传递给“macro_owner”,在工作表上显示数据,然后用一些计算出的单元格显示整个团队的统计数据。你的意思是像工作表一样让他们输入数据,还有一个锁定的工作表供您获取他们输入的值的副本?是的,这就是我的意思,所以他们在单元格A1-A10和B1-B10中输入的数据在单击“提交”按钮时都会传递到我的工作表上。好的,检查答案谢谢,真的很感谢,但我想我忘了提到它们是不同的启用宏的保存文件?这个代码还可以吗?@JonathanClark我当然明白了,但它需要修改。检查我对答案所做的更新,如果它解决了您的需求,请记住将其标记为正确。