2016-08-12 3 views
1

.ini 파일을 연결하고 사용하려는 데이터가있는 Excel 시트가 있습니다.매크로가 강조 표시된 경우 행을 복사하고 연결

데이터가있는 열이 여러 개 있습니다. D 열의 셀을 강조 표시 한 경우 해당 행의 데이터를 다른 시트로 복사하려고하지만 동시에 각 열의 데이터를 열 머리글 아래를 참조하십시오 :

Data Overview

을 사진에서 나는 다음과 같은 형식으로 다른 시트로 데이터를 복사하는 매크로를 싶습니다 위 :

name = Machine 1 

caption = Presentation 

make = Company 1 

model = Model 1 

이 가능합니까?

+0

당신은 INI 파일이나 INI 파일과 같은 시트를 만드시겠습니까? – Andreas

+0

지금까지 어떤 코드를 사용해 보셨습니까? – Genie

+0

Andreas - .ini 파일을 만들 수 있도록 .ini 파일처럼 보이는 시트를 만들고 싶습니다. – user3514907

답변

1

ini 파일이 아닌 ini 파일을 만들려는 경우.

LastRow = Range("A" & Rows.Count).End(xlUp).Row 
for i = 3 to LastRow 
If range("A" & i).Interior.ColorIndex = 2 then 
    MyFile = "C:\inifiles\" & Range("C" & i).Value & ".ini" 'Machine 1.ini 
    fnum = FreeFile() 
    Open MyFile For Output As #fnum 
    Print #fnum, "name=" & Range("C" & i).Value 
    Print #fnum, "caption=" & Range("D" & i).Value 
    Print #fnum, "make=" & Range("E" & i).Value 
    Print #fnum, "model=" & Range("F" & i).Value 
    Close #fnum 
End if 
Next i 

모든 행을 반복하고이 데이터를 사용하여 "이름"을 파일 이름으로 사용하여 파일을 만듭니다.

편집 :
당신은 INI 표정으로 시트를 만들려면 :

LastRow = Range("A" & Rows.Count).End(xlUp).Row 
For i = 3 To LastRow 
If range("A" & i).Interior.ColorIndex = 2 then 
    Dim ws As Worksheet 
    Set ws = ThisWorkbook.Sheets.Add(After:= _ 
      ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)) 
    ws.Name = Sheets(1).Range("C" & i).Value 
    Sheets(Sheets(1).Range("C" & i).Value).Range("A1") = "name=" & Sheets(1).Range("C" & i).Value 
    Sheets(Sheets(1).Range("C" & i).Value).Range("A2") = "caption=" & Sheets(1).Range("D" & i).Value 
    Sheets(Sheets(1).Range("C" & i).Value).Range("A3") = "make=" & Sheets(1).Range("E" & i).Value 
    Sheets(Sheets(1).Range("C" & i).Value).Range("A4") = "model=" & Sheets(1).Range("F" & i).Value 
End if 
Next i 
관련 문제