[[20220110123650]] 『数値(相当)の入れ替え』(TomCat) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『数値(相当)の入れ替え』(TomCat)

以下のように
A列にある数値相当の文字列を
B列の文字列と取り替えて
C列に表示する方法を教えて下さい。

             A               B                   C
1 The Dogs Run_1.txt        01          The Dogs Run_01.txt 
2 The cat sleeps_4.txt      04          The cat sleeps_04.txt

< 使用 Excel:Office365、使用 OS:Windows10 >


 C1:=SUBSTITUTE(A1,B1*1,B1)

 こういうことやないのやったら説明不足
 
(どや!) 2022/01/10(月) 13:00

どや!さん、回答感謝です。

以下の関数では、D列に上手く処理できて表示もされました。
D1:= SUBSTITUTE(B5, C5*1, C5)

そこで以下のようにマクロにしてみましたが、エラーは無いが空白が表示されれます。

Dim ws As Worksheet
Set ws = Worksheets("DATA")

ws.Cells(i, "D").Value = WorksheetFunction.Substitute(ws.Cells(1, "B"), ws.Cells(i, "C") * 1, ws.Cells(i, "C"))

Set ws = Nothing

(TomCat) 2022/01/10(月) 13:56


 >Substitute(ws.Cells(1, "B")
 これ 1 で合ってますの?
 i では?

 変数 i の宣言もループもしてまへんけど、それは後から?
 
(どや!) 2022/01/10(月) 14:23

どや!さん、回答感謝です。

>これ 1 で合ってますの?
>i では?

初歩的なミスで気が付きませんでした。
以下に一部変更して上手く表示できました。

 (ws.Cells(i, "D").Valueをws.Cells(i, "C").Valueとしたのは

  使用列を少なくするだけで間違いではありません。)

ws.Cells(i, "C").Value = WorksheetFunction.Substitute(ws.Cells(i, "B"), ws.Cells(i, "C") * 1, ws.Cells(i, "C"))

>変数 i の宣言もループもしてまへんけど、それは後から?

コードは必要なところだけ記載しました。
ForやDimなどは、省きました。

おかげさまで上手く処理できて解決しました。
(TomCat) 2022/01/10(月) 15:12


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.