2016-07-25 2 views
-1

현재 SQL Server를 연구 중이지만 지금은 공부하는 동안 표준 사무실 관리 작업을하고 있습니다. VB에서 매크로를 사용하기 전에 매크로를 작성한 적은 한 번도 없었지만 팀을 위해 작업을 좀 더 쉽게하기 위해 매크로를 설계하기로 결정했습니다. 매크로는 매우 간단하게 사용자가 데이터, 통계 등을 입력 할 수있게하고 통계가 일, 주, 월 등에 맞았는지 알리는 총 백분율 또는 평균 통계를 제공합니다. 잘 작동하지만 사용자가 클릭하면 지정된 셀에 입력 한 데이터를 나에게 보냅니다 "제출"버튼을 추가하고 싶습니다. 나는 그것에 대해 가야할지 잘 모르겠다. 필요할 때 SQL, Visual Studio 등의 시스템에 접근 할 필요가 없다.Excel 매크로, 사용자 데이터 전송

CSV로 제출해야합니까? 또는 사용자의 시트에서 다른 팀으로 직접 제출할 수 있습니까? 전체 팀의 결과를 제공하도록 설계 했습니까? 나는이 아이디어에 완전히 새로운 것이라고 말했다.

건배 얘들 아.

+0

엑셀 책을 첨부 한 메일에 대해 이야기 할 때 데이터를 보내고 싶다고 말하면 어떻게됩니까? – jsanchezs

+0

물론 가능하다면 데이터를 추출하는 것뿐입니다. 그래서 우리 팀이 사용하는 "macro_user"가 있고 "macro_owner"라고 생각한 사용자가 "macro_user"에 입력 한 데이터를 시트에 데이터를 표시하는 "macro_owner"로 전달한 다음 계산 된 일부 셀 팀 통계를 전체적으로 표시합니다. –

+0

데이터를 입력하는 시트와 입력 한 값의 복사본을 얻을 수있는 잠긴 시트를 의미합니까? – jsanchezs

답변

2

아주 간단한 접근법에서 필요한 것이 무엇인지에 따라 가장 먼저해야 할 일은 정보를 입력 할 셀을 알기 위해서입니다 (범위와주의).이 예를 가정 해 보겠습니다. whe는 팀 워크 시트의 첫 번째 셀에 하나의 데이터 만 입력했습니다. 그래서, '단추 1'이라는 버튼을 만들거나 당신이 원하는 및 클릭 이벤트에이 코드를 사용할 때 :

당신이 시트를 암호로 잠겨 더라면, 지금, 또 다른 하나의 시트에서 값을 복사합니다
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 

하나를 복사 할 수 있습니다 당신이 특정 세포를 사용하는 경우 나, 이것은 매우 간단한 방법임을 명확히 때문에, 하나는 이것으로 할 것입니다 (그래서 anny 계산 아들을 관리자 시트로 만들 수 있습니다). 그러나 복사 범위가 다음과 같아야합니다 :

Teamsheet.Range("A1:D3").Value = yoursheet.Range("A1:D3").Value 

또한 사용자가 필요한 데이터를 입력하는 방법을 항상 고려하십시오.

UPDATE :

이 비슷한 개념의 당신이 팀 통합 문서를 가지고 당신이 admin_workbook입니다 가정 해 봅시다. 이 코드는 할 것입니다 당신이 필요하지만 모두 통합 문서가 동일한 폴더 나 경로에 있어야합니다 :

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 

먼저 당신이, 당신은 당신의 관리자 책을 엽니 다 VAR에 데이터를 캡처 당신이 원하는 셀에 데이터를 입력하고 해당 통합 문서 닫기 변경 사항 저장 (이 줄을 유지할지 또는 통합 문서를 열어 수동으로 저장할지 결정). 또한 응용 프로그램. 화면 업데이트는 통합 문서간에 변경할 때 화면이 넘어지지 않도록하는 선입니다.

친구에게 도움이 되었기를 바랍니다.

+0

내가 범위 – jsanchezs

+0

감사를위한 방법을 포함하여 내 대답을 편집 정말 고마워, 나는 그들이 다른 저장된 매크로를 사용하는 파일을 언급 깜빡 생각합니까? 이 코드로 여전히 가능합니까? –

+0

@JonathanClark 물론 알겠지만 변경이 필요합니다. 업데이트에 대한 응답을 확인하고 요구 사항을 해결 한 경우 올바른 것으로 표시해야합니다. – jsanchezs