マクロの記録 関数式をださいVBA | |
---|---|
[196471] マクロの記録 関数式をださいVBA- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ 中澤 -(2025/03/02(14:10)) □U R L/ お世話になります。 マクロの記録で取りました。 シート1のDH32に式がはいってます。 シート1のA7が空白の時は空白 そうでない場合は、 シート3のM7が0より大きい時はシート3のB7の数字を シート1のDH32に その式をシート1のDH33からシート1のDH38までコピーする。 DH32からDH38に関数式を 出さないVBAにしたいのですが、 ご教授お願い致します。 Excel 2010 です。 ************************ Sub Macro3() Sheets("Sheet1").Range("DH32").Select ActiveCell.Formula = _ "=IF(Sheet1!A7="""","""",IF(Sheet3!M7>0,Sheet3!B7,""""))" Range("DH32").Select Selection.Copy Range("DH33:DH38").Select ActiveSheet.Paste Range("DH32").Select Application.CutCopyMode = False End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[196472] Re[1]: マクロの記録 関数式をださいVBA- ■記事引用/メール受信=OFF■ □投稿者/ 中澤 -(2025/03/02(14:36)) □U R L/ すいません。 もう一つ書き忘れていました。 DH32からDH38に空白が ある場合は上詰めにする方法を ご教授お願い致します。 シート1 列 行 DH 32 12 33 空白 34 空白 35 1 36 8 37 空白 38 11 この空白を上詰めにしたいのですが どの様にするのでしょうか。 DH 32 12 33 1 34 8 35 11 36 37 38 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[196473] Re[2]: マクロの記録 関数式をださいVBA- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2025/03/02(16:21)) □U R L/ >DH32からDH38に関数式を >出さないVBAにしたいのですが、 「出さない」と言う意味がよく分からないですが、以下 一案。 Sub test() Dim r(1 To 3) As Range Dim rDest As Range Dim RW As Long, cnt As Long Set r(1) = Worksheets("Sheet1").Range("A7") Set r(2) = Worksheets("Sheet3").Range("M7") Set r(3) = Worksheets("Sheet3").Range("B7") Set rDest = Worksheets("Sheet1").Range("DH32:DH38") rDest.ClearContents '事前クリア For RW = 1 To rDest.Rows.Count If r(1)(RW, 1) <> "" Then If r(2)(RW, 1) > 0 Then cnt = cnt + 1 rDest(cnt, 1) = r(3)(RW, 1).Value End If End If Next End Sub |
[196474] Re[3]: マクロの記録 関数式をださいVBA- ■ ![]() □投稿者/ 中澤 -(2025/03/02(16:56)) □U R L/ 半平太 さん 有難うございます。 うまく取得できました。 >DH32からDH38に関数式を >出さないVBAにしたいのですが、 関数式があると 後の作業に困る事が有りますので ご指導をいただきました。 感謝申し上げます。 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
このトピックに書きこむ |
---|