macros复制行如果突出显示并连接

我有一个Excel工作表,我想连接并用它来创build一个.ini文件。

有多列数据,如果列D中的单元格突出显示,我希望它将该行中的数据复制到另一个表,但同时我希望它将每列中的数据连接到列标题,请参阅下面:

数据概述

从上面的图片,我想macros以下面的格式将数据复制到另一个工作表:

name = Machine 1 caption = Presentation make = Company 1 model = Model 1 

这可能吗?

如果你想创build一个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 

它循环遍历所有行,并使用数据创build一个名称为“name”的文件。

编辑:
如果你想用ini来创build表单:

 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