2016-07-14 1 views
1

저는 VBA에서 매우 새로 우며, 특히 Google을 사용하며 특히 stackoverflow를 사용합니다. VBA에서 몇 가지 합리적인 기술을 개발했으며 그 이상으로 많은 작업을 수행했습니다. 2 주. 나는 셀 2에서 열 A을 수식을 아래로 붙여 VBA 스크립트를 얻으려고VBA, 수식을 작성하여 데이터가있는 열의 맨 아래로 이동

는 현재 사용되는 공식은 내가 여러 가지 방법을 시도했지만 구문 오류를 얻을 수 및 오류를 컴파일 한 =TEXT(H2,"ddmmyy")&LEFT(B2,1)&C2 입니다. 나의 최근 시도는 다음과 같다.

Sub FillDown() 

     Dim strFormulas(1 To 1) As Variant 

     With ThisWorkbook.Sheets("Sheet1") 
      strFormulas(1) = "=TEXT(H2,"ddmmyy")&LEFT(B2,1)&C2" 


      .Range("C2:E2").Formula = strFormulas 
      .Range("C2:E11").FillDown 
     End With 
    End Sub 

내가 "DDMMYY"에 오류 (컴파일 오류 : 구문 오류), 그것은 숫자를 받아 고유 ID의를 만들 수있는 사람의 이름 앞에 배치합니다. 이것이 나쁜 질문 일 수도 있기 때문에 사과드립니다. 그러나 저는 매우 새롭고 성취감이 많으며 이미 많은 것을 배웠고 환상적인 속도로 학습 VBA를 계속하고 싶습니다.

+1

죄송합니다, 그것은 숫자와 장소를 수행해야하는 매크로 기록을 사용하여 코드를 확인, 예를 들어 Jcott30081983은 내 이름과 생일로 사용 이것처럼 보일 것입니다. 감사합니다. – joshc

답변

1

당신은 문제가 "ddmmyy"는 두 개의 문자열로 수식 문자열을 종료 "=TEXT(H2,"")&LEFT(B2,1)&C2"ddmmyy이 유효 VBA의 일종으로 해석을 시도한다이었다

strFormulas(1) = "=TEXT(H2,""ddmmyy"")&LEFT(B2,1)&C2" 

으로 라인을 교체하여 구문 오류를 해결할 수 있습니다 암호. 그 전체 진술은 물론 유효하지 VBA 코드 따라서 오류입니다. 문자열에 "을 포함 시키려면 문자 쌍을 이스케이프 처리해야합니다.

+0

오른쪽, 이해합니다. 협조 해 주셔서 대단히 감사합니다. 인터뷰는 2 일이며, 이는 제가 직장에서 착수 한 상당히 큰 프로젝트를 완료하게됩니다. 이것은 이것이 마지막 단계이고 내 두뇌가 그것을 이해하지 못하는 것처럼 보일 수 있습니다. 고맙습니다. – joshc

0

그냥 사람에 대한 고유 ID를 생성하는 첫 번째 행에 다음

ThisWorkbook.Sheets("Sheet1").Range("C2:E11").Formula = "=LEFT(B2)&C2&TEXT(H2,""ddmmyyyy"")" 
관련 문제