ここから本文です

マクロについて教えて下さい。 sheet1のA列に、"東京","大阪","福岡"があった場...

gri********さん

2016/4/612:54:17

マクロについて教えて下さい。

sheet1のA列に、"東京","大阪","福岡"があった場合

sheet2のA1に、【〇・×・△】と記入したいです。

※東京=〇、大阪=×、福岡=△

【例】
"東京","大阪","福岡" ⇒【〇・×・△】
"東京","福岡" ⇒ 【〇・△】
"大阪","福岡" ⇒ 【×・△】

ご教授の程、よろしくお願い致します。

閲覧数:
52
回答数:
3
お礼:
25枚

違反報告

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

プロフィール画像

カテゴリマスター

tra********さん

2016/4/613:44:00

Sub 一例です。()
Dim xAry1, xAry2, xRng As Range, xCity As String
xAry1 = Array("東京", "大阪", "福岡")
xAry2 = Array("〇", "×", "△")
With Worksheets("Sheet1")
xCity = "【" & Join(Application.Transpose( _
.Range("A1", .Cells(Rows.Count, 1).End(xlUp)).Value), "・") & "】"
End With
For i = LBound(xAry1) To UBound(xAry1)
xCity = Replace(xCity, xAry1(i), xAry2(i))
Next i
Worksheets("Sheet2").Range("A1").Value = xCity
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2016/4/6 20:34:10

希望通りに動作しました。

ありがとうございました。

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

1〜2件/2件中

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

2016/4/613:17:13

単純に条件が3つなら

Sub Sample()
Dim a As String

If Application.WorksheetFunction.CountIf(Sheet1.Range("A:A"), "=東京") > 0 Then
a = a & IIf(a = "", "【", "・") & "○"
End If
If Application.WorksheetFunction.CountIf(Sheet1.Range("A:A"), "=大阪") > 0 Then
a = a & IIf(a = "", "【", "・") & "×"
End If
If Application.WorksheetFunction.CountIf(Sheet1.Range("A:A"), "=福岡") > 0 Then
a = a & IIf(a = "", "【", "・") & "△"
End If
If a <> "" Then
Sheet2.Range("A1").Value = a & "】"
End If

End Sub

あるいは

Sub Sample2()
Dim a As String
Dim x As Variant
Dim i As Integer

x = Array("東京", "○", "大阪", "×", "福岡", "△")

For i = LBound(x) To UBound(x) Step 2
If Application.WorksheetFunction.CountIf(Sheet1.Range("A:A"), "=" & x(i)) > 0 Then
a = a & IIf(a = "", "【", "・") & x(i + 1)
End If
Next
If a <> "" Then
Sheet2.Range("A1").Value = a & "】"
End If
End Sub


条件の数が多くなるなら、別なシートか領域に検索文字列と記号の表を作ってやるほうがいいかもしれませんね。

hdu********さん

2016/4/613:07:03

「sheet1のA列に、"東京","大阪","福岡"があった場合」

って、A1="東京"、A2="大阪"、A3="福岡"と言う事でしょうか?
それともA1に"東京","大阪","福岡"?

この質問につけられたタグ

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

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

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

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

閉じる

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

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

閉じる