質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

2回答

147閲覧

Access VBA 特定の文字より前を抽出したい

Ponpon.981

総合スコア4

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2024/04/23 03:08

実現したいこと

Access VBAにて、特定の文字("+")があった場合、特定の文字("+")より前を抽出し
無い場合は空欄を返す処理を書きたいです。

例)

abcd+1234 ⇒ abcd
abcd1234  ⇒ (空欄)

発生している問題・分からないこと

Access VBAにて、特定の文字があった場合の切り出し方法が分からない。

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

以下のようにinstrやleft関数を用いているのですが、構文エラーになってしまいます。
Left("カラム名", InStr("カラム名", "+") - 1)

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hatena19

2024/04/23 03:54

コードの一部ではなく全体を提示してください。 また、そのコードをどこに記述して、どのように実行しているかも提示してください。
guest

回答2

0

検索する文字が含まれていないとき、InStr()が0となり、Left()のパラメータが-1となるためエラーとなっています。
減算部分をコントロールするとエラー回避できます。

VBA

1Left([カラム名], InStr([カラム名], "+") - IIf(InStr([カラム名], "+") > 0, 1, 0))

投稿2024/04/23 04:05

sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

情報不足ですので、修正依頼してますが、
修正されるまでの、とりあえず研究用のコード

vba

1Public Sub test() 2 Dim str As String 3 Dim pos As Long 4 5 str = "abcd+1234" 6 'str = "abcd1234" 7 8 pos = InStr(str, "+") 9 If pos > 0 Then 10 str = Left(str, pos - 1) 11 Else 12 str = "" 13 End If 14 15 MsgBox str 16End Sub

投稿2024/04/23 04:00

hatena19

総合スコア33755

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Ponpon.981

2024/04/23 04:39

コメントありがとうございます。研究用のコードで解決しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問