助けてください。
Excelは関数を少し使ってるくらいのVB全くわかってないレベルで恐縮なのですが
仕事で以下のファイルを作る必要があり
検索などで色々調べているものの見事につまづいております。
作りたいファイルは、添付画像のように
列Fの結合セルにはテキストで "あいうえお" が
それぞれ入っているのですが
メモ下の結合セル内が
〇の時は列F4の結合セル、あいうえお(赤字)を削除して空白に。
×の時は列F11の結合セル、あいうえお(青字)はそのまま残す。
のようなマクロを組みたいです。
if分を使えば、、というイメージはありますが、型の指定など
諸々ちんぷんかんぷんでどのようにすればよいか苦慮しております。
可能であればコードをそのまま貼り付けられる状態で
教えていただけると嬉しいです。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
No1です。
>コンパイルエラー(Nextに対応するForがありません。)と表示されています。
>原因として何が考えられるかご教示いただけますでしょうか。
当方の環境では問題なく実行できます。
どのような方法で試しているのか不明ですけれど、タイポではありませんか?
この掲示板のコードをまるっとコピペしてもエラーが発生するのでしょうか?
仮にエラーになるにしても
>(Nextに対応するForがありません。)
が出るとは思えません。
>結合セルにしたとたんエラーになってしまいます
失礼しました。結合セルではClearContentsが使えないようですね。
以下に替えてみてください。
Sub Sample2()
For r = 6 To Cells(Rows.Count, 15).End(xlUp).Row Step 7
If Cells(r, 15).Value = "○" Then Cells(r - 2, 6).Value = Empty
Next r
End Sub
ありがとうございます!
お返事遅くなってしまって申し訳ありません。
おかげさまで希望する挙動が実現できました。
これを機にちゃんと勉強していきたいと思いました。
本当にありがとうございました!
No.4
- 回答日時:
ゴメン、変数名間違えた
(列END→行ENDに変える)
For 行 = 2 To 列END Step 7 '7行置きにループ
↓
For 行 = 2 To 行END Step 7 '7行置きにループ
これでチャント動きますよ。
ありがとうございます!
お返事遅くなってしまって申し訳ありません。
色々な構文?があるのですね!
ssawatake様からいただいたコードでも希望する挙動ができました。
No.2
- 回答日時:
sheet名がsheet1で有る場合を前提で。
Dim WS1 As Worksheet
Set WS1 = Worksheets("Sheet1")
行END = Range("O65536").End(xlUp).Row 'O列最終行をセット
For 行 = 2 To 列END Step 7 '7行置きにループ
If WS1.Range("O" & 行+4).Value = "○" Then
WS1.Range("F" & 行+2).Value = ""
END If
Next 行
No.1
- 回答日時:
こんにちは
説明の曖昧なところは勝手に解釈しました。
・対象セルが「○」「×」以外の場合はどうするのか不明なので、
『「〇」がある場合だけ空白にする』としています。
・表形式が不明ですが、7行ごとのセットが繰り返されていると解釈し、
O6セルから始めて、7行おきに値があるセルまで処理を繰り返します。
以下ご参考までに。
Sub Sample()
For r = 6 To Cells(Rows.Count, 15).End(xlUp).Row Step 7
If Cells(r, 15).Value = "○" Then Cells(r - 2, 6).ClearContents
Next r
End Sub
※ コード中の「○」の文字は異字体がいろいろありますので、実際にご使用になっている文字と合わせてください。
(文字が異なると、正しく判断できません)
早速ありがとうございます。
つたない説明で解析いただき感謝でございます。
ご推察通り「〇がある場合だけ空白にする」で全く問題ありません。
このコードを実行すると コンパイルエラー(Nextに対応するForがありません。)と表示されています。
End Ifを Next r の前につけてみましたが解消されず、、、
原因として何が考えられるかご教示いただけますでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
【お題】 ・存在しそうで存在しないモノマネ芸人の名前を教えてください
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
「これはヤバかったな」という遅刻エピソード
寝坊だったり、不測の事態だったり、いずれにしても遅刻の思い出はいつ思い出しても冷や汗をかいてしまいますよね。
-
自分のセンスや笑いの好みに影響を受けた作品を教えて
子どもの頃に読んだ漫画などが その後の笑いの好みや自分自身のユーモアのセンスに影響することがあると思いますが、 「この作品に影響受けてるな~!」というものがあれば教えてください。
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
VBA コードどこがおかしいですか?
Visual Basic(VBA)
-
VBAコードのインデント表示
Visual Basic(VBA)
-
ExcelVBAマクロで実行した時の疑問
Visual Basic(VBA)
-
-
4
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
5
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
6
エクセル マクロVBAについて教えてください。
その他(Microsoft Office)
-
7
【ExcelVBA】5万行以上のデータ比較の効率的な処理方法について
Visual Basic(VBA)
-
8
エクセルVBAにて =A1=B1とすれば A1とB1のセル内容が一緒だった場合 TRUE 違っていれ
Visual Basic(VBA)
-
9
Vba 実数および実数タイプの変数について教えてください
Visual Basic(VBA)
-
10
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
11
VBAで各列の+"と"o"の合計数を数え3行目と4行目に入力したい"
Visual Basic(VBA)
-
12
エクセルVBA
Visual Basic(VBA)
-
13
ExcelVBA修正のお願い
Visual Basic(VBA)
-
14
データチェックを行うエクセルマクロをおしえてほしい
Excel(エクセル)
-
15
Excel_VBAについて質疑です。(for~next)
Visual Basic(VBA)
-
16
再質問です。マクロの修正箇所を教えてください。
Excel(エクセル)
-
17
VBA初心者です。次のVBAコードで、17行目を削除したいのですがうまく動きません 改善策を教えてく
Visual Basic(VBA)
-
18
【VBA】値を変更しながら連続でPDFを作成し,それらに印刷設定をした状態で結合するコード
Visual Basic(VBA)
-
19
VBA 入力箇所指定方法
Visual Basic(VBA)
-
20
【ExcelVBA】インデックスが有効範囲にありません。の理由が分かりません
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Visualbasicの現状について教え...
-
【ExcelVBA】インデックスが有...
-
VBA 別ブックから条件に合うも...
-
[VB.net] ボタン(Flat)のEnable...
-
ExcelのVBAコードについて教え...
-
VB.net(VB)で、フォームにExcel...
-
【VBA】値を変更しながら連続で...
-
VBA 2次元配列の出力
-
VBAでセルの書式を変えずに文字...
-
【VBA】 結合セルに複数画像と...
-
【VBA】スペースが入っていない...
-
【ExcelVBA】5万行以上のデー...
-
エクセルでCDOを使ったメール送...
-
vbs ブック共有を解除
-
VBA 別ブックからコピペしたい...
-
エクセルのVBAコードについて教...
-
エクセルVBAのブックを開く方法...
-
[Excel VBA]特定の条件で文字を...
-
Web画面の文字をVB6で取得したい
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【ExcelVBA】5万行以上のデー...
-
【ExcelVBA】dictionaryの重複...
-
VBAでセルの書式を変えずに文字...
-
[Excel VBA]特定の条件で文字を...
-
【VBA】 結合セルに複数画像と...
-
VBA 別ブックからコピペしたい...
-
エクセルVBAのブックを開く方法...
-
WindowsのOutlook を VBA から...
-
エクセルでCDOを使ったメール送...
-
エクセルvbaの対象セルに色をつ...
-
【ExcelVBA】インデックスが有...
-
Excelのマクロについて教えてく...
-
エクセルVBAで特定のセルの値を...
-
エクセルのVBAコードについて教...
-
【VBA】値を変更しながら連続で...
-
Outlookの「受信日時」「件名」...
-
VBA 2次元配列の出力
-
Excel 範囲指定スクショについ...
-
VBA 別ブックから条件に合うも...
-
Web画面の文字をVB6で取得したい
おすすめ情報
単一セルだとみなさんから教えていただいた方法でできたのですが
結合セルにしたとたんエラーになってしまいます。