Excelブックを開いて編集するマクロを作成しました。
まず、新しい列Aを追加してから、A1、B1、C1、D1のタイトルを変更します。
この後、VBAにある種の式/ループを作成して、この場合はAの各セルにテキスト(2014年12月31日)を追加しますが、隣接するセルにテキストがある場合に限ります。右RC [1]。
これを実行するために、VBAの指定されたコードをどのように編集する必要があるかについて誰かが考えていますか?
それほど重要ではありませんが、Excelシートでその日付を変更したいと思います。 Range( "E7")。Valueを使用して(そしてE7を編集して)行ったときのように、それを行う簡単な方法はありますか?書式設定は、他のすべてのワークブックに含まれていました。
Sub test()
Dim MyPath As String
Dim MyFile As String
Dim Wkb As Workbook
Dim Cnt As Long
Application.ScreenUpdating = False
'MyPath = "G:\SHARED\Style Research\Portfolios - Macro Test"
MyPath = Range("D6").Value
If Right(MyPath, 1) <> "\" Then MyPath = MyPath & "\"
MyFile = Dir(MyPath & "*.xls")
Cnt = 0
Do While Len(MyFile) > 0
Cnt = Cnt + 1
Set Wkb = Workbooks.Open(MyPath & MyFile)
Wkb.Worksheets("Sheet1").Range("A1").EntireColumn.Insert
'this is the part I'm referring to
Wkb.Worksheets("Sheet1").Range("A1:A250") = "31/12/2014"
'Range("D7").Value
'Wkb.Worksheets("Sheet1").Range("A1").EntireColumn.NumberFormat = "DD/MM/YYYY"
Wkb.Worksheets("Sheet1").Range("A1") = "Date"
Wkb.Worksheets("Sheet1").Range("B1") = "Identifier"
Wkb.Worksheets("Sheet1").Range("C1") = "Name"
Wkb.Worksheets("Sheet1").Range("D1") = "%"
Wkb.Close savechanges:=True
MyFile = Dir
Loop
If Cnt > 0 Then
MsgBox "Completed...", vbExclamation
Else
MsgBox "No files were found!", vbExclamation
End If
Application.ScreenUpdating = True
End Sub
これは非常に簡単です。次のようなif
条件でfor loop
を使用してください-
Sub test()
For Each c In Range("A:A")
If c <> 0 And c.Offset(, 1) <> 0 Then
c.Value = 1
End If
Next
End Sub
データに合わせて範囲を変更するか、usedrange
を取得してみてください。私はあなたの第二の部分を完全に理解していません。