ここから本文です

VBA超初心者です。 1週間ほど前から少しずつVBAを勉強しており、勉強がてら if...

アバター

ID非公開さん

2017/8/2017:41:53

VBA超初心者です。

1週間ほど前から少しずつVBAを勉強しており、勉強がてら
if関数によって選択した別のブックからvlookupで探した文字/数値を
ワークシートに転記するマクロを作っていま

す。

If関数を使って処理を分けるところ、vlookupを使うところまではできたのですが、
以下の2つのことで悩んでおります。

①()内に転記した文字を特定のセルにいれること
②別のブックに書かれているvlookupで探したセルの結果によって特定のセルに入れる文字を変える方法

①は、
vlookupで探した数値を一度A1セルに転記したうえで
Dim a As String
Dim b As String
Dim c As String

a = "("
b = ")"
c = Range("A1")
Range("A1") = a + c + b

としていたのですが「型が一致しません」というエラーが出ます。
stringをvariantに変えても同様でした。

②については、例えば
Book2のsheet2のセルA1,A2,A3にそれぞれ「有り」という文字が書いてあれば
Book1のsheet1の特定のセルに「〇」を入力する…というようなのが
できればよいのですが、自分なりに調べてみても全く分かりません。

超初心者のためこの説明で伝わるのかも不安なのですが、
どなたかご教授いただけると幸いです。

閲覧数:
118
回答数:
3
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

tai********さん

2017/8/2101:36:46

例えば
Sub test()
Dim a As String
Dim b As String
Dim c As String
a = "("
b = ")"
c = Range("A1")
Range("A1") = a + c + b
End Sub

というコードならエラーにならないと思いますが?

これ続きがあるのでは?続きの部分がエラーになっていると思います。


②に関しては、特定のセル、などとしているので何が特定なのかが明らかにならないと無理な話です。

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

tw8********さん

2017/8/2020:30:17

間違えていたらごめんなさい

①の件は+でも問題ありません。ただ文字の結合の場合は&を使う方がコードが見やすくなります。型が一致しない理由はわかりません。ごめんなさい。ちなみにセルA1に何が入力されていますか?

②の件は以下のコードで試して下さい。

Sub test()

Dim wb As Workbook
Dim flag As Boolean
Dim i As Integer
Dim a As Integer

For Each wb In Workbooks
If wb.Name = "Book2.xlsx" Then
flag = True
Exit For
End If
Next wb


If flag = False Then
Workbooks.Open "C:\ブックのパス\Book2.xlsx"
Else
Workbooks("Bブック").Activate
End If


Worksheets("Sheet2").Activate
a = 0
For i = 1 To 3
If Cells(i, 1) = "有り" Then
a = a + 1
End If
Next

If a = 3 Then
ThisWorkbook.Worksheets("Sheet1").Range("D1").Value = "○"
Else
ThisWorkbook.Worksheets("Sheet1").Range("D1").Value = ""
End If

Workbooks("Book2").Close

End Sub

プロフィール画像

カテゴリマスター

aka********さん

2017/8/2018:16:40

+できるのは 数値だけです。
文字は & で 繋ぎます。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる