![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
閲覧ありがとうございます。VBA初心者なのですが、質問させていただきます。
1件につき7行あるデータを縦方向に何百件かペーストし、そのあと件ごとに必要な行だけをINDEX(7行おきにデータを引っ張る)で別シートに移すというマクロを組んでいるのですが、まれに2行目と7行目が存在しない、5行しかないデータがあるのです。
例えば本来い、ろ、は、に、ほ、へ、と、というように7行あるデータの中に紛れて、い、は、に、ほ、へ、しかないデータです。
ちなみにその後のINDEXで抜き出したいのは「い」と「ろ」にあたる行です。
その際にINDEXで抜き出す行がズレてしまわないように、「ろ」「と」が存在しなければ「ろ」「と」に相当する空白のセル、もしくは指定の文字を入力したセルを挿入するということがしたいのですが、そういったことは可能でしょうか?
一応、「ろ」行でなければいけないのに「は」行になっている、「と」行でなければいけないのに次の件の「ろ」行が来てしまっている、の判定は出来ますので、その場合は該当セルの右に目印として「下方向に挿入(仮)」と出力されます。
説明が伝わりにくいなど、なにか不備があればご質問ください。
何卒よろしくお願いいたします…。
![「VBA 右隣に特定の文字列がある時に行を」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/c/543119675_615956c0db879/M.jpg)
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんばんは。
例えば、下記の様な感じでしょうか?
(全て手書きですので、記載ミスなどでエラーが出るかも知れませんが、適宜対応して下さい。)
あとは、実際のデータ用に、適宜調整して下さい。
問題のデータが、E1に書かれていると想定して。
Sub test()
Dim Y as Long,N as Long,myDat as String,
myDat = "いろはにほへと"
Y=3 ' 開始行 3行目から開始
N=1 ' 文字判定用 いろは~の最初から何文字目か
Do
If cells(Y,5).Value <> Mid(myDat,N,1) Then 'E3から下を処理
With Cells(Y,5)
.Resize(,2).Insert Shift:=xlDown
.Value = Mid(myDat,N,1)
End With
End If
Y=Y+1
N=N+1
If N>7 Then N=1
Loop While Cells(Y,5).value <>"" or Y > 100 'E列が空白になるまで。
End Sub
念のために、100行を超えると止まる様にしています。
(不具合がおきると、永遠に終わらなくなる可能性があるので。。。)
No.2
- 回答日時:
こんにちは
>「と」行でなければいけないのに次の件の「ろ」行が来てしまっている、
>の判定は出来ますので~~
その判定をどのようにして行っているのか不明ですけれど、判定の処理と一緒に処理すべき内容だと思います。
ご提示の、
>該当セルの右に目印として「下方向に挿入(仮)」と出力されます。
を目印にしようとしても、それだけではガイドにならないので無理でしょう。
同じ「下方向に挿入」と記されていても、実際には、
・「は」の行では1行「上」に行を挿入
・「へ」の行では1行「下」に行を挿入
という点だけをとっても、処理の内容が異なりますので・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) Excel 表の作成について 3 2022/06/16 12:15
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでアクセスDBからデータの取...
-
XMLでデータとして画像を指定す...
-
C# DataTableに最後に追加した...
-
エクセルのCSV読み込みについて
-
VBA 右隣に特定の文字列がある...
-
COBOL数値転記の仕様
-
「Nullの使い方が不正です」の...
-
access vba 『○○件づつ表示』を...
-
MSFlexGrid 行選択状態
-
Excel VBAでフォルダ内の全テキ...
-
【VB.NET】Excelの最終行までの...
-
Excel VBAで1週間毎にカテゴリ...
-
VBAコンボボックスの内容が反映...
-
矩形グラフ(オシロやロジアナ...
-
【C#】textBoxの指定行のデータ...
-
VBA 変数名に変数を使用したい。
-
INT64対応のprintf系関数はあり...
-
VBとアクセスでSQL文に変...
-
DataTableに特定のフィールドが...
-
C#でbyte配列から画像を表示さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
「Nullの使い方が不正です」の...
-
XMLでデータとして画像を指定す...
-
VBAコンボボックスの内容が反映...
-
C# DataTableに最後に追加した...
-
【ExcelVBA】値を変更しながら...
-
【VB.NET】Excelの最終行までの...
-
COBOL数値転記の仕様
-
Excel VBAでフォルダ内の全テキ...
-
富士通(汎用機)のAIMについて
-
MSFlexGrid 行選択状態
-
Excel VBAで1週間毎にカテゴリ...
-
access vba 『○○件づつ表示』を...
-
Excel VBA で日付を4ケタの数値...
-
Excel VBAでグループ毎に集計す...
-
java / jsp selectedについて
-
ExcelVBAで戻り値を返すには
-
batでレジストリキーから読み取...
-
エクセルVBA WEBからデータ取...
おすすめ情報