
①VBAで、H列の値のうち特定の文字「:」も含め、その文字より右側を削除して、残った数値を文字列に変換したいです。
・特定の文字以降の文字数は、一定ではありません
・文字列に変換したい残った数値の桁数は一定ではありません
・H列の値の最下行が常に一定ではないため、列ごとしたいです
②VBAで、I列の値のうち特定の文字「:」も含め、その文字より左側を削除したいです。
・特定の文字以降の文字数は、一定ではありません
・I列も値の最下行が常に一定ではないため、列ごとしたいです
関数ではなくVBAで実行したく、初心者が無理をして恐縮ですが、勉強のためどなたかご教示いただけましたら幸いです。
説明が拙く画像も添付させていただきます。
お手数お掛けいたしますが、よろしくお願いいたします。

No.2ベストアンサー
- 回答日時:
こんばんは
元の値に ":" が無い場合や空白セルの場合、あるいは、":" が複数含まれる場合などにどのような結果をお求めなのかわかりませんけれど、勝手に解釈しました。
以下ではいかがでしょうか?
Sub Q12901413()
Dim rw As Long, col As Long
Dim rng As Range
Dim v, i As Long, n As Long
Const del = ":" ’←区切り文字
For col = 8 To 9
rw = Cells(Rows.Count, col).End(xlUp).Row
rw = Application.Max(rw, 2)
Set rng = Cells(2, col).Resize(rw - 1)
v = rng.Value
For i = 1 To UBound(v)
If col = 8 Then
n = InStr(v(i, 1), del)
v(i, 1) = Left(v(i, 1), IIf(n, n - 1, 99))
Else
n = InStrRev(v(i, 1), del)
v(i, 1) = Mid(v(i, 1), IIf(n, n + 1, 1), 99)
End If
Next i
rng.NumberFormat = "@"
rng.Value = v
Next col
End Sub
お世話になります。ご返信遅くなり申し訳ございません。
早々にご回答いただきありがとうございました!
元の値に 「:」 が無い場合や空白セルの場合などを想定していなかったので、そちらも加味した記述を教えていただきありがとうございます。
こちらのご説明不足にもかかわらず、確かにそういったこともありますので、大変勉強になりました。
お気遣い感謝いたします。
またご相談するかと思いますが、ご教示いただけましたら幸いです。
No.3
- 回答日時:
こんなのでも、行けそうです。
Sub Macro1()
Dim r As Range
For Each r In Columns("H:I").SpecialCells(xlCellTypeConstants, 23)
r.Value = "'" & Split(r.Value, ":")(0)
Next r
End Sub
お世話になります。ご返信遅くなり申し訳ございません。
早々にご回答いただきありがとうございました!
こちらの記述でも希望通りの実行ができました!
色々な記述があり大変勉強になりました。
またご相談するかと思いますが、ご教示いただけましたら幸いです。
No.1
- 回答日時:
何の工夫もしてないけど。
2行目から最終行まで処理してます。
Option Explicit
Sub sample()
Dim i As Long
Dim j As Long
'①の処理
j = Cells(Rows.Count, "H").End(xlUp).Row 'H列の最終行取得
For i = 2 To j
Cells(i, "H") = "'" & Left(Cells(i, "H"), InStr(Cells(i, "H"), ":") - 1)
Next
'②の処理
j = Cells(Rows.Count, "I").End(xlUp).Row 'I列の最終行取得
For i = 2 To j
Cells(i, "I") = Right(Cells(i, "I"), Len(Cells(i, "I")) - InStr(Cells(i, "I"), ":"))
Next
End Sub
お世話になります。ご返信遅くなり申し訳ございません。
早々にご回答いただきありがとうございました!
こちらの記述で希望の実行ができました。
大変勉強になりました。
またご相談するかと思いますが、ご教示いただけましたら幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
【お題】 『寿司』がテーマの本のタイトルを考えてください
-
みんなの【マイ・ベスト積読2024】を教えてください。
積読、ついついしちゃいませんか?そこでみなさんの 「2024年に買ったベスト積読」を聞きたいです。
-
あなたなりのストレス発散方法を教えてください!
自分なりのストレス発散方法はありますか?
-
思い出すきっかけは 音楽?におい?景色?
記憶をふと思い出すきっかけは 音楽、におい、景色 どれですか?
-
Excel VBA:特定の文字列以降(あるいは以前)のテキストをすべて取得する方法
Visual Basic(VBA)
-
ある特定の文字以降全て削除したいです。
Excel(エクセル)
-
VBAで特定の文字以降の文字列の色の変更をしたい
Excel(エクセル)
-
-
4
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
5
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
6
もしセルが#N/A"なら~をする・・・には?"
Excel(エクセル)
-
7
エクセルでセル内の文字列の最後のスペース以下を削除するには?
Excel(エクセル)
-
8
特定の文字がある行以外を削除するマクロ
その他(Microsoft Office)
-
9
【Excel VBA】複数ある特定の文字列を含む行を削除
Excel(エクセル)
-
10
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
11
VBAでの Replace関数で、ワイルドカードは使えないのでしょうか?
Visual Basic(VBA)
-
12
EXCEL VBA Dictionaryで複数の値を格納→離れた位置に出力する方法
Excel(エクセル)
-
13
【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。
Excel(エクセル)
-
14
Excel VBA A列が特定の値以外の場合、その行を削除
Excel(エクセル)
-
15
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
16
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
17
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
18
エクセルにて、右から最初のスペース以降を消去
Excel(エクセル)
-
19
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
20
Excel vbaで特定の文字以外が入っている時、メッセージを表示させるプログラムについて
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Worksheets メソッドは失敗しま...
-
VBAのFind関数で結合セルを検索...
-
Cellsのかっこの中はどっちが行...
-
VBA 何かしら文字が入っていたら
-
VBAでのリスト不一致抽出について
-
Excelで、あるセルの値に応じて...
-
【Excel VBA】 B列に特定の文字...
-
URLのリンク切れをマクロを使っ...
-
VBAで、特定の文字より後を削除...
-
vba 2つの条件が一致したら...
-
複数の列の値を結合して別の列...
-
【Excel VBA】カンマと改行コー...
-
IIF関数の使い方
-
【VBA】2つのシートの値を比較...
-
文字列の結合を空白行まで実行
-
Changeイベントでの複数セルの...
-
VBAで指定範囲内の空白セルを左...
-
VBA初心者です 検索した数字の...
-
マクロ 最終列をコピーして最終...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
B列の最終行までA列をオート...
-
Cellsのかっこの中はどっちが行...
-
Worksheets メソッドは失敗しま...
-
Excelで、あるセルの値に応じて...
-
vba 2つの条件が一致したら...
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
VBAのFind関数で結合セルを検索...
-
【VBA】2つのシートの値を比較...
-
文字列の結合を空白行まで実行
-
Changeイベントでの複数セルの...
-
URLのリンク切れをマクロを使っ...
-
VBAで指定範囲内の空白セルを左...
-
VBAで、特定の文字より後を削除...
-
VBAを使って検索したセルをコピ...
-
【Excel VBA】 B列に特定の文字...
-
エクセル 2つの表の並べ替え
-
データグリッドビューの一番最...
-
rowsとcolsの意味
-
VBAでのリスト不一致抽出について
おすすめ情報