
VBA処理追加
こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてください。
前回回答いただいた方追加で申し訳ないのですが
上の画像(元データ)の黄色のセルの文字を下の画像(結果)のように名前に関連させて表示させたいのですがどうすればよろしいでしょうか?
ご教示お願い致します。
Option Explicit
Public Sub ユークリッド距離順()
Const BA1 As Long = 1000 '表縦の倍率
Const BA2 As Long = 100 '表横の倍率
Const BA3 As Long = 10 '表高の倍率
Const BA4 As Long = 1000 '裏縦の倍率
Const BA5 As Long = 100 '裏横の倍率
Const BA6 As Long = 10 '裏高の倍率
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim dicT As Object
Dim maxrow1 As Long
Dim namerow As Long
Dim wrow As Long
Dim row2 As Long
Dim name As String
Dim d1 As Long, d2 As Long, d11 As Long, d12 As Long, d13 As Long, d21 As Long, d22 As Long, d23 As Long
Set dicT = CreateObject("Scripting.Dictionary") ' 連想配列の定義
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
maxrow1 = sh1.Cells(Rows.Count, 1).End(xlUp).Row '
If name = "" Then Exit Sub
sh2.Rows("5:" & Rows.Count).ClearContents '5行目以降クリア
namerow = 0
For wrow = 3 To maxrow1
If name = sh1.Cells(wrow, 1).Value Then
namerow = wrow
End If
Next
If namerow = 0 Then
MsgBox (name & "が存在しません")
Exit Sub
End If
'ユークリッド距離の計算
row2 = 5
For wrow = 3 To maxrow1
If wrow <> namerow Then
sh2.Cells(row2, 1).Value = sh1.Cells(wrow, 1).Value '表名前
sh2.Cells(row2, 4).Value = sh1.Cells(wrow, 1).Value '裏名前
d11 = (sh1.Cells(wrow, 2).Value - sh1.Cells(namerow, 2).Value)
d12 = (sh1.Cells(wrow, 3).Value - sh1.Cells(namerow, 3).Value)
d13 = (sh1.Cells(wrow, 4).Value - sh1.Cells(namerow, 4).Value)
d21 = (sh1.Cells(wrow, 5).Value - sh1.Cells(namerow, 5).Value)
d22 = (sh1.Cells(wrow, 6).Value - sh1.Cells(namerow, 6).Value)
d23 = (sh1.Cells(wrow, 7).Value - sh1.Cells(namerow, 7).Value)
d1 = d11 * d11 * BA1 + d12 * d12 * BA2 + d13 * d13 * BA3
d2 = d21 * d21 * BA4 + d22 * d22 * BA5 + d23 * d23 * BA6
sh2.Cells(row2, 2).Value = d1 '表距離
sh2.Cells(row2, 5).Value = d2 '裏距離
row2 = row2 + 1
End If
Next
'ソート
sh2.Range("A5:B" & row2 - 1).Sort key1:=sh2.Range("B5"), Order1:=xlAscending, Header:=xlNo
sh2.Range("D5:E" & row2 - 1).Sort key1:=sh2.Range("E5"), Order1:=xlAscending, Header:=xlNo
sh2.Rows("10:" & Rows.Count).ClearContents '10行目以降クリア
MsgBox ("完了")
End Sub

No.1ベストアンサー
- 回答日時:
No.2
- 回答日時:
>追加で申し訳ございません。
つぎつぎと、仕様の追加が入ってくると、きりがありません。
もし、ほかにも追加があるのなら、そのついかも含めて、質問を追記してください。
>値が入っている所に"ー"(ハイフン)などの特定の物を削除してから計算させたいときはどうしたらよろしいでしょうか?よろしくお願い致します。
ハイフンを取り除いてから計算ということになります。
どのようにハイフン等が入っているのかが判りません。
ハイフン等の入っている例(すべての例をあげてください。)と
それをとりのぞいた結果を提示してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mysql php ループ列の行の値を...
-
PHPでMySQLデータを呼び出し、w...
-
mysql_fetch_assoc()の非推奨
-
PHPで[]の使い方について
-
PHP+MySQLでの配列のinsert文に...
-
PHP 関数呼び出し後に配列添字...
-
sqlの検索結果件数は出るのです...
-
段ごとに配色を変える方法
-
DBに入力されている値のセレ...
-
DBの値を基にliにulをネストし...
-
PHP と MySQL でテーブルの行数...
-
pearのdisconnect()が使えない。
-
DB(MySQL)から複数行のデータを...
-
文字列に対してPHP上で一括置き...
-
クエリObjectをforeachで回す時...
-
mysql+php 日付別料金データで...
-
会員登録したらメールが送られ...
-
CSVをダウンロードさせた際、CS...
-
PHPからSQLite3のUPDATEができ...
-
「日付条件」のDELETEで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アラートでyes noを作りたいです。
-
dbに登録したデータをphpのプル...
-
文字化けが解決できません。お...
-
VBA初心者です。
-
phpでmysqlを使ってデータベー...
-
DBで検索結果に該当するデータ...
-
smartyでMySQLから連想配列取り...
-
PHPのプルダウンメニューにDBの...
-
[PHP+MySQL] データをランダム...
-
sortable ギブアップです…助け...
-
mysqlから取得した配列をカンマ...
-
sortableを使用したデータのUPDATE
-
PHPでMySQLデータを呼び出し、w...
-
PHP+MySQLでの配列のinsert文に...
-
XML初心者です。
-
検索結果($_POST)が2ページ目...
-
smartyのforeachの使い方?
-
SELECT結果から動的にコンボボ...
-
pg_queryの結果を2回とりだす...
-
PEARのPagerの設定の仕方
おすすめ情報
追加で申し訳ございません。
値が入っている所に"ー"(ハイフン)などの特定の物を削除してから計算させたいときはどうしたらよろしいでしょうか?よろしくお願い致します。