2014-11-14 5 views
0

매크로를 사용하여 SQL에 대한 insert 문을 포함하는 텍스트 파일을 만듭니다.두 개의 셀 값을 조합하여 인쇄하십시오.

내가 지금 고민하고있는 비트는 출력 파일에서 한 줄로 concatanate하기 위해 A와 B의 값이 필요하지만 두 줄로 계속 진행된다는 것입니다.

인쇄 할 때 모든 데이터를 한 셀에 넣을 수 없으므로 255자를 초과하여 잘립니다. 문제가있다 내가 가진

비트는있다 -

Set rng_Data = Range("Output!Output") 
Output! 워크 시트입니다

Output 데이터의 명명 된 범위입니다.

그리고 더 아래

- 이상적으로 나는이 생각
For Each cell In rng_Data 
    'Print the data string to the txt file 
    Print #int_FreeFile01, Format(cell.Value) 
Next 

처럼 작성해야 -

Set rng_Data = Range("Output!A1&B1:A116&B116") 

하지만 난 그냥이 동작하지 않습니다. 아무도 도와 줄 수 있습니까? 당신의 범위를 가정

+0

설정 rng_Data = Sheets ("Output!"). 범위 (범위 정의) 을 시작하는 것이 좋습니다. 또한 도움을 쉽게하기 위해 전체 코드를 게시해야합니다. – Chrismas007

+0

나는 당신의 제안을 시도했다 - Set rng_Data = Sheets ("Output!"). Range ("A1 & B1 : A116 & B116") 그러나 'subscript out of range'오류가 난다. – Dorbs

+0

데이터 문자열을 찾고 계시거나 범위를 선택 하시겠습니까? 범위 선택에 대한 올바른 구문은 다음과 같습니다. Set rng_Data = Sheets ("Output!"). 범위 (A1 : B116) 잡으려는 범위를 명확히하십시오. – Chrismas007

답변

0

:

Sub PrintToNote() 

Dim CurRow As Long 
Dim CelCon As String 

For CurRow = 1 To 116 
    CelCon = Sheets("Output").Cells(CurRow, 1).Value & Sheets("Output").Cells(CurRow, 2).Value 
    Print #int_FreeFile01, CelCon 
    Next CurRow 

End Sub 

그냥 인쇄 명령에 대한 몇 가지 작업을 필요를 ...

0

A1입니다 : B116이 코드는 항상 116 행 것이다 가정

Set rng_Data = Range(Sheets("Output").Cells(1, 1), Sheets("Output").Cells(116, 2)) 

Open "C:\myfile.txt" For Output As #1 

For Each cell In rng_Data 
    'Print new line if the cell is in column 1 
    If cell.Column = 1 Then Print #1, "" 
    'Print the cell value without new line ending 
    Print #1, cell.Value; 

Next 

Close #1 
관련 문제