2014-03-18 3 views
-1

Excel VBA의 현재 코드에 문제가 있습니다.다른 스프레드 시트의 셀에서 특정 문자를 가져 오는 방법

다른 스프레드 시트의 마지막 4 자리 숫자 만 가져야하지만 가능하지는 않습니다.

저는 현재 Sheets("Sheet2").Cells(y, cOTr).Value 명령어를 사용하여 다른 스프레드 시트의 값을 취하고 LEFT(a,2)RIGHT(a,2) 명령어는 문자열 데이터의 특정 문자 만 사용합니다.

나는이 두 명령어를 결합하는 방법을 찾을 수 없습니다.

예. 두 번째 열의 두 번째 열에서 셀의 첫 번째 4 개의 숫자 만 복사하려면 6657-2와 유사한 숫자가있는 시트 1을 시트 1에 복사하십시오.

설명이 불충분하면 죄송합니다.

편집 : 스프레드 시트 1의 표와 스프레드 시트 2의 표를 비교하고 싶습니다. 첫 번째 표는 4 자리 숫자 (예 : 3333)이고 두 번째 표의 값은 4 자리 숫자, 하이픈 와 다른 자릿수 (예 : 2222-3). 다른 스프레드 시트에있는 표 1과 표 2를 비교해야하며 표 2의 처음 네 자리 만 필요합니다. 프로그램에 대한 논리가 이미 있으며 일부 테스트에서 완벽하게 실행되고 있습니다. 4 자리 숫자 만 있으면, 처음 네 개의 숫자를 가져올 방법이 필요합니다. "left (cells (1,2), 2)"명령을 사용하는 것과 비슷하지만 다른 스프레드 시트의 셀을 사용하는 것과 같습니다.

+1

** 확실하지 않음 ** ... 데이터 및 원하는 결과의 몇 가지 예를 제공하십시오. –

+1

감사합니다. 편집 단락을 추가했습니다. – user3434646

답변

0

당신은 &

예를 들어, 앰퍼샌드 연산자를 사용하여 텍스트/문자열을 결합 할 수 있습니다

또는
=LEFT(A2,2) & RIGHT(A2,2) 

, 당신은 또한 사용할 수 있습니다 CONCATENATE

예를 들어,

=CONCATENATE(LEFT(A2,2),RIGHT(A2,2),"some other string","and so on") 
+0

감사합니다.하지만 그 반대의 경우 문자열 (예 : 3333-3)을 복사하려고하지만 첫 번째 네 자리 숫자 만 다른 스프레드 시트에 복사하고 싶습니다. – user3434646

+1

음, 'LEFT (A2,4)'를 사용하여 두 번째 매개 변수로 가져올 문자 수를 지정하십시오. 예 : 'LEFT ("1234-56", 4)는 "1234"를 줄 것입니다. 숫자가 아닌 실제 숫자를 다루는 경우에는 'STR'함수를 사용하여 숫자를 문자열로 변환해야합니다. E.G'LEFT (STR (123456), 4)'-> '1234' – Loopo

0

이 수식은 =LEFT(Sheet2!A1,4)입니다. 당신이 데이터 2222-3이 곳

enter image description here

시트 2 A1입니다.

관련 문제