
【やりたい事】
以下の表aから表bのようにしたいです
A列に並んでいる、数値の内 -08、-09がついていれば削除。
ついていなければそのままにしたいです
マクロは、以下のように考えています
ご存じの方、ヒントやアドバイスを頂きたいです
宜しくお願いします
なお、以下のマクロステートメントでなくてもOKです
【表a】
123
456-08
789
111-09
222
※数値は3ケタか3ケタ プラス -08or-09しかないです
※並んでいる数値の個数は増えたり減ったりします
【表b】
123
456
789
111
222
【考えているマクロ】
lastrow2 = ws2.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastrow2
if -08 or -09 then '-08もしくは-09 が数値についていれば
-08 or -09 だけ削除
else '-08 or -09 無ければ
何もしない
End If
Next i
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは
以下でも可能と思います。
For Each c In Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp))
t = Right(c.Text, 3)
If t = "-08" Or t = "-09" Then _
c.Value = Left(c.Text, Len(c.Text) - 3)
Next c
No.3
- 回答日時:
常に最初の3文字を残せばいいんですよね。
それなら、No.1の回答のIf〜ThenとEnd Ifは無くていいです。あと、ActiveSheetしか見ないならシート指定は不要でしょう。Range("A" & i)よりCells(i, "A")の方がちょっぴり速くなります。No.2
- 回答日時:
シンプルにすべてのデータで「-08」や「-09」があれば置換ではどうでしょうか?
For i = 1 To 10←ここは処理する表aの範囲で任意に設定
st0 = 表aのCells(i, 1).Value
st1 = Replace(st0, "-08", "")
st1 = Replace(st0, "-09", "")
表bのCells(i, 1).Value = st0
Next
No.1
- 回答日時:
lastrow2 = WS2.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastrow2
If (Right(WS2.Range("A" & i).Value, 2) = "08") Or (Right(WS2.Range("A" & i).Value, 2) = "09") Then
WS2.Range("A" & i).Value = Left(WS2.Range("A" & i).Value, 3)
End If
Next i
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Excel(エクセル) 再質問です。マクロの修正箇所を教えてください。 7 2024/07/18 11:11
- Visual Basic(VBA) マクロについて教えてください。 下記のマクロは以前教えて頂いたマクロです。 マクロを実行すると 指定 6 2024/01/17 17:50
- Visual Basic(VBA) VBAコードが作動しません。修正したいのですが何処に原因かあるか教えて下さい。 1 2024/01/08 16:23
- Visual Basic(VBA) Excel VBA 文字列のセルを反映させたいです 2 2024/02/24 00:06
- Excel(エクセル) 【エクセルマクロ】複数シートで同じマクロを実行 1 2023/10/06 19:28
- Excel(エクセル) (マクロ)vlookupの元データを同じブックのシートではなく、別のブックに設定したい 1 2024/06/02 10:03
- Visual Basic(VBA) VBA 行削除した連番 4 2023/06/27 16:00
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
このQ&Aを見た人はこんなQ&Aも見ています
-
excelVBAについて。
Excel(エクセル)
-
excelVBAについて。
Excel(エクセル)
-
excelVBAについて。
Excel(エクセル)
-
-
4
【マクロ】複数の日付データをYYYY/MM/DDに読替えて、別ブックへ転記したい
Excel(エクセル)
-
5
excelVBAについて。
Excel(エクセル)
-
6
不要項目の行削除方法について
Visual Basic(VBA)
-
7
vbaマクロについて
Visual Basic(VBA)
-
8
以下のプログラムの実行結果はどうなると思いますか? その理由も教えてください。
Visual Basic(VBA)
-
9
エクセルのファイルのコピーをとりたい
Excel(エクセル)
-
10
エクセル タブの下のメニューを選択 実行するコード
Visual Basic(VBA)
-
11
VBAでセルの書式を変えずに文字列を置換する方法をご教示ください
Visual Basic(VBA)
-
12
エクセルを使ってQRコードを作成したい。
Excel(エクセル)
-
13
excelVBAについて。
Excel(エクセル)
-
14
Excelの数式について教えてください。
Excel(エクセル)
-
15
UNIQUE関数、配列数式を使わずに品名ごとの集計を求めたい
Excel(エクセル)
-
16
エクセルVBA 同じ品名を色分けする
Excel(エクセル)
-
17
エクセル数式に問題があります
Excel(エクセル)
-
18
エクセルのデータについて
Excel(エクセル)
-
19
桁をセルで区切って計算をした場合、合計がしっかりと繰り上げされた形式で表示される方法
Excel(エクセル)
-
20
VBAのエラー表示の対処法について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
勤怠表について ABS、TEXT関数...
-
エクセルの関数について
-
Excelで4択問題を作成したい
-
エクセル
-
エクセルの表で作業してます。 ...
-
エクセル GROUPBY関数について...
-
エクセルの複雑なシフト表から...
-
【Officer360?Officer365?の...
-
エクセルについて
-
Amazonでマイクロソフトオフィ...
-
グループごとの人数のカウント
-
グループごとの人数のカウント
-
エクセルシートの見出しの文字...
-
グループごとの個数をカウント...
-
【マクロ】別ファイルへマクロ...
-
【マクロ】変数に入れるコード...
-
【マクロ】実行時エラー '424':...
-
ページが変なふうに切れる
-
9月17日でサービス終了らし...
-
エクセルのリストについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報