我有一张Excel表格,其中包含我想要连接并用于创建.ini文件的数据。
如果列D中的单元格突出显示,则有多列数据,我希望它将该行中的数据复制到另一个工作表上,但同时我希望它将每列中的数据与列连接起来标题,见下文:
从上图中我想将宏以下列格式将数据复制到另一张表中:
name = Machine 1
caption = Presentation
make = Company 1
model = Model 1
这可能吗?
答案 0 :(得分: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
循环遍历所有行,并使用数据创建一个文件名为“name”的文件。
编辑:
如果要创建具有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