2013-06-12 1 views
2

또 다른 문제는 또 다른 문제입니다. 나는이 일을 쉽게 할 수 있다고 생각하지만, 지금 어떻게 나아갈 지 모르겠습니다.열을 찾고 선택하고 잘라내어 다른 워크 시트에 붙여 넣는 매크로를 만들려면 어떻게해야합니까?

문제 :

우리는 고객으로부터 탁월한 시트를 받았습니다. 이 시트에는 각 열에 정리 된 정보가 들어 있습니다. 첫 번째 열은 customernumbers를 포함하고, 두 번째 열은 이름을 포함하고, 세 번째 열은 etcetera를 포함합니다. 첫 번째 행에는 열에 대한 설명 (예 : "Customernumbers", "Names", "Addresses"등)이 있습니다.

문제는 모든 고객이 올바른 순서로 또는 동일한 설명으로이 정보를 전송하지는 못합니다. 어떤 사람들은 Customnumbers, number 또는 pupilnumber를 사용하여 열을 호출합니다. 또한 열의 순서가 항상 같지는 않습니다. 때로는 첫 번째 열에 Addresses를 넣고 때로는 첫 번째 열에 이름을 넣기도합니다.

우리는 소프트웨어를 모든 것을 읽고 데이터베이스에 넣을 수 있도록 올바른 순서로 각 열을 수동으로 잘라내어 붙여야합니다 (mysql이 아니거나, 이미 mysql 용 스크립트를 만들었습니다).

[질문 :

가 어떻게 모든 컬럼 작성 및 자동 절단 및 우리의 엑셀 워크 시트의 오른쪽 열에 해당 열을 붙여 있는지 감지 할 수 있습니다. 예 : 열이 CustomNumber에 관한 것인지 감지하고 워크 시트의 CustomNumber 열에 붙여 넣습니다.

아이디어 : 내가 생각와 MySQL 엔 PHP로 솔루션을 만들고 있었다

1.) 때문에, PHP 스크립트 실행이 XML 파일을 읽을 수 있도록 엑셀 워크 시트, XML 형식으로 업로드됩니다 있었다 마지막으로 mysql 데이터베이스에 저장 될 수있다. 그 다음에는 올바른 순서로 열과 함께 데이터베이스의 정보를 xml 파일에 쓰는 방법으로 xml 파일을 만들 수 있습니다.

2.) 오랜 사고와 테스트 후에, 나는 많은 시간이 필요하다는 것을 깨달았고, 그렇게 쉬운 것을 복잡하게 만든다. 대신 VBA에서 무언가를 만들려고했습니다. 유용한 스크립트를 발견하고 VBA가 내가 원하는 것을 할 수 있다는 것을 배웠습니다. 유일한 것은 웹이 내가 원하는 것을 찾기 위해 커다란 것이고 나는 VBA의 기초만을 알고 있습니다. 그러나 그것에 대해 더 자세히 알고 싶습니다. 이것은 제가 짧은 시간에 필요로하는 것입니다.

+1

너무 광범위합니다. 특정 문제를 해결하고 게시물을 수정하고 코드를 표시 한 다음 도움을 드리겠습니다 –

+0

VBA에서이 작업을 수행하는 방법은 두 가지입니다.고객의 스프레드 시트에서 열을 읽는 매크로를 작성한 다음 if 문을 사용하여 this 또는 this 또는 this, then 'Customernumber'라고 말하십시오. 다른 옵션은 매크로가 파일의 열을 읽고 사용자 입력을 요청할 수 있습니다. 그래, 그 열은 '이름'열입니다. 그런 다음 매크로가 적절한 영역으로 데이터를 이동하도록하십시오. – Scheballs

+0

전혀 다른 아이디어 - 고객에게 전달하는 템플릿 시트 (또는 웹 양식 또는 그 라인에있는 무엇인가)를 작성하여 사용자가 입력하도록하십시오. 가장 간단한 해결책은 대개 사용자가받는 입력을 표준화하는 것입니다 그들이 생각한 것을 얻을 수 있기를 희망하지만, 당신이 물어 보지 못한 것 ... –

답변

0

미래에 대한 최선의 해결책은 고객에게 표준 템플릿을 제공하는 것이라는 점에 John은 동의합니다.

현재 문제의 목적을 위해 각 열의 내용을 기준으로 분류하십시오. 예 : - 이름은 대문자로 시작하며 첫 번째, 중간, 성을 구분하는 1 ~ 2 개의 공백을 갖는 경향이 있습니다. - 주소는 3-4 자리로 시작하는 경향이 있으며 그 뒤에 일련의 글자가 계속됩니다. - 숫자로만 구성하십시오.

각 범주의 이러한 특성을 고려하여 각 열에서 몇 행을 아래로 내려서 데이터가 가장 적합한 범주를 확인하십시오.

각 열을 식별 할 수 있어야하며 열을 쉽게 선택하고 주변을 임의로 셔플해야합니다.

관련 문제