VBAで下記の動作を実現させたいのですが、もう一歩のところで上手くいきません。
アドバイスを宜しくお願いします。
・C列が空欄になるまで、AD列を改行させて同じ作業を繰り返す。
Do Loopステートメントで下記のように作ってみたのですが、"AD2"から"AD3"に改行させることが
出来ないのです。
------------------------------------
Sub 棚番2()
Range("C2").Activate
Do Until ActiveCell.Value = ""
Range("AD2").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-27],棚番!C2:C3,2,0)),"""",VLOOKUP(RC[-27],棚番! C2:C3,2,0))"
Range("AD2").Copy
Range("AD2").PasteSpecial Paste:=xlPasteValues
ActiveCell.Offset(1).Activate
Loop
End Sub
---------------------------------
何卒アドバイスを下さいますよう宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
「"AD2"から"AD3"に改行させることが…」分かりにくいですが、
多分「C2の検索結果をAD2」,「C3の検索結果をAD3」…としたいのだと推測します。
セルの変化させるには、CellsやOffsetを使用する方が便利です。
また、ActiveCellやコピー&ペーストを使用しない方がプログラムはすっきりすると思いますよ。
以下、サンプルマクロです。
Sub 棚番2()
Dim I As Long
For I = 2 To Rows.Count
If Cells(I, "C").Value = "" Then Exit For
Cells(I, "AD").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-27],棚番!C2:C3,2,0)),"""",VLOOKUP(RC[-27],棚番!C2:C3,2,0))"
Cells(I, "AD").Value = Cells(I, "AD").Value
Next I
End Sub
判りづらい説明であるにも関わらずご対応頂き、どうもありがとうございます。
教えて下さった内容で、実現させたい動作を取ることができました!
大変助かりました。
コピー&ペーストも今後は使用しなくても済むよう教えて下さった方法を活用します。
No.3
- 回答日時:
記録マクロでは、うまく行きません。
こういう時のマクロのパターンというのは、ある程度決まったものがありますが、最近は、あまりそういうパターンを使わない人のほうが多いようです。
Sub Planogram2()
'棚番2
Dim rng As Range
Set rng = Range("C2", Cells(Rows.Count, 3).End(xlUp))
With rng.Offset(, 27)
.Formula = _
"=IF(ISERROR(VLOOKUP(RC3,棚番!C2:C3,2,0)),"""",VLOOKUP(RC3,棚番!C2:C3,2,0))"
.Value = .Value
End With
End Sub
ご連絡どうもありがとうございます。
まだまだ勉強中で、記録マクロを頼ってしまっていますが、
やはり実現できることに限界がありますよね。
もっと勉強して知識を増やしていこうと思います。
No.1
- 回答日時:
やりたいことがよくわかりませんが、C2がアクティブセルの場合、AD2に数式を入れて値の貼り付け、C3がアクティブセルの場合、AD3に数式を入れて値の貼り付け・・としたいのであれば、AD3に数式を入れる部分がありません。
以下サンプルです。動作確認は全くしてません。
Sub 棚番2()
Range("C2").Activate
Do Until ActiveCell.Value = ""
Cells(ActiveCell.Row, "AD").FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-27],棚番!C2:C3,2,0)),"""",VLOOKUP(RC[-27],棚番! C2:C3,2,0))"
Cells(ActiveCell.Row, "AD").Copy
Cells(ActiveCell.Row, "AD").PasteSpecial Paste:=xlPasteValues
ActiveCell.Offset(1).Activate
Loop
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) 【再投稿】VBAのシフト表でバグが出て困っています 3 2022/09/24 08:29
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
新築後悔。鬱。 今 新築を建設...
-
ルーズリーフの仕切りは前?後...
-
対義語
-
陰茎と睾丸は収納できる?
-
Wordのページを連結して表示す...
-
国旗などの旗をあげるのあげる...
-
高さが変えられる木製棚の天板...
-
カラーボックスの棚板を外す方...
-
【至急】キャビネットが開かな...
-
不織布の収納ボックスを開けま...
-
本棚の棚板を補強する方法
-
部屋に湧いている小さいミミズ...
-
外付けHDDは重ねて置いていいの...
-
レンジ台に内蔵の米びつの取り...
-
【word2007】スペース(空白)...
-
宅配便で一度に大量のものを送...
-
カラーボックスの背面板を外し...
-
ドラッグストアセイムスでバイ...
-
メタルラックの棚板を一人で外...
-
マンションキッチンの吊り戸棚...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
新築後悔。鬱。 今 新築を建設...
-
陰茎と睾丸は収納できる?
-
Wordのページを連結して表示す...
-
国旗などの旗をあげるのあげる...
-
ルーズリーフの仕切りは前?後...
-
対義語
-
カラーボックスの背面板を外し...
-
物が勝手に動く
-
高さが変えられる木製棚の天板...
-
カラーボックスの棚板を外す方...
-
段ボール箱を冷凍室に入れても...
-
外付けHDDは重ねて置いていいの...
-
【至急】キャビネットが開かな...
-
不織布の収納ボックスを開けま...
-
WORD起動時、常に印刷レイアウ...
-
部屋に湧いている小さいミミズ...
-
収納の固定棚の取り外しについて
-
備え付けの収納棚の臭いに困っ...
-
押入がぬれている
-
恋文ペン字というフォントについて
おすすめ情報