エクセルVBA初心者です。
WEBからデータを取得しておりますが、正しくデータが取得出ず止まってしまいます。
数字以外が含まれる場合は”0”ゼロを表示させたいのですが
うまくいきません。どなたか教えてください。
お願いいたします。
word1とword2の<>内にはタグが入っています。
Sub point()
Word1 = "<>"
Word2 = "<>"
Word3 = "pt"
Select Case True
Case InStr(strHtml, Word1) > 0
Point1 = InStr(strHtml, Word1)
Point2 = InStr(Point1, strHtml, Word2) + Len(Word2)
Point3 = InStr(Point2, strHtml, Word3)
WS_PR.Cells(i, Point_C) = LTrim(RTrim(Replace(Mid(strHtml, Point2, Point3 - Point2), vbLf, "")))
Case InStr(strHtml, Word1) = 0
WS_PR.Cells(i, Point_C) = 0
End Select
End Sub
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは。
私には、今の所ちゃんとした答えがありませんが、何かのお役に立てるかもしれません。
>数字以外が含まれる場合は”0”ゼロを表示させたいのですが
どこに、数字以外が含まれるというのでしょうか?
どこに0を表示させたいのか分かりません。
'例えば、こういうことでしょうか。
Sub Test1()
buf = "abc"
If buf Like "*[^0-9]*" Then
msg = "0"
End If
End Sub
それと、
LTrim(RTrim(....
これって、もしかしたら、Trim のことではないでしょうか。
それと、複雑な内容でしたら、正規表現で取り出すほうが簡単です。
正規表現というのは、究極のワイルドカードのことです。
ただし、多少、スピードは落ちます。
'//
Sub TestRegularExpression()
Dim RegEx As Object
Dim Ms As Object
Dim buf As String
Dim Ret As String
Set RegEx = CreateObject("VBScript.RegExp")
buf = "abcde<123>myTime<456>abcptd"
With RegEx
.Global = True
.IgnoreCase = False
.MultiLine = True
.Pattern = "\>([A-Za-zぁ-龠]*?)\<" '該当するパターン(>と<で囲まれた文字)
If .Test(buf) Then
Set Ms = .Execute(buf)
Ret = Ms(0).subMatches(0)
End If
If Ret <> "" Then
MsgBox Ret
End If
End With
End Sub
WindFaller-san
ご丁寧な回答をありがとうございます!
数字以外が含まれますのは、word2になります。
私が経験不足で理解が出来てない部分があり、判りずらい文章ですみませんでした。
正規表現の記述ありがとうございます!
No.1
- 回答日時:
goold-manさん
ご回答ありがとうございます。
ネットで探していたのですが、これは知りませんでした。
早速確認してみます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) evcel VBAについて 2 2022/08/02 21:37
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) VBAでWordのネストした表にデータを挿入したい 4 2023/04/24 10:18
- その他(コンピューター・テクノロジー) パソコン初心者です。 ExcelとWordの勉強をする際に こちら、金子晃之さんの『大人気YouTu 5 2022/06/07 01:21
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Excel(エクセル) ExcelのVBAでWordを読み取り専用で開いて、見たいページに自動で移動する方法を教えて頂きたい 4 2022/07/27 10:39
- Excel(エクセル) Excelから複数のWordファイルを操作する方法について教えて頂きたい。 やりたいことは、複数のW 2 2022/07/26 20:11
- Visual Basic(VBA) Wordマクロで指定したフォルダ名に保存する方法について 8 2022/12/13 11:35
- その他(プログラミング・Web制作) AndroidStudio エラー と インストール の件 1 2023/06/27 12:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「Nullの使い方が不正です」の...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
クリスタルレポートでレコード...
-
Excel VBAでフォルダ内の全テキ...
-
AccessVBAでのExcelメモリ解放
-
COBOL数値転記の仕様
-
Web画面のTableから数字を取得...
-
アクセスでウェブ上のデータを...
-
VBA 重複しない名称単位で集計
-
エクセルVBA WEBからデータ取...
-
XMLでデータとして画像を指定す...
-
ActiveReportのdetailをデータ...
-
部品表
-
VBA 変数名に変数を使用したい。
-
Accessのフィールド名に半角括...
-
クリスタルレポート(8.5)の書式...
-
アクセスでADO 並べ替えが適用...
-
他のMDBのテーブルに追加したい
-
VBとアクセスでSQL文に変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Nullの使い方が不正です」の...
-
【C#】textBoxの指定行のデータ...
-
VBAでアクセスDBからデータの取...
-
【VB.NET】Excelの最終行までの...
-
Excel VBAでフォルダ内の全テキ...
-
C# DataTableに最後に追加した...
-
XMLでデータとして画像を指定す...
-
VBAコンボボックスの内容が反映...
-
MSFlexGrid 行選択状態
-
COBOL数値転記の仕様
-
クリスタルレポートでレコード...
-
非同期のプロセス間通信(パイプ...
-
ActiveReportのdetailをデータ...
-
アクセスでウェブ上のデータを...
-
Excel VBAでグループ毎に集計す...
-
batでレジストリキーから読み取...
-
富士通(汎用機)のAIMについて
-
Web画面のTableから数字を取得...
-
Excel VBAで1週間毎にカテゴリ...
-
エクセルのCSV読み込みについて
おすすめ情報