0

私は VBA を初めて使用するので、列に含まれる値に .jpg 拡張子を追加したいと考えています。

Header Col G
11125;111545
154645
154511;145521;165421
1156556;13165
567418

この列にループして、すべての値に .jpg を追加したいと思います (セルごとに複数の画像)

編集:2n試して作業する

Sub image()
Dim c As Range


    For Each c In Selection.Cells
        Dim Words() As String
        Words() = Split(c.Value, ";")
        Dim x As Integer

        For x = 0 To UBound(Words)
        Words(x) = Words(x) & ".jpg"
        Next x
        c.Value = Join(Words, ";")
    Next
End Sub

おそらく最短の方法ではありません..でもうまくいきますありがとう

4

2 に答える 2

0

これを行うための非標準的な方法は次のとおりです...

セルを選択してください

dim c as range
for each c in Selection.cells
    c.value = Join(Split(c.value,";"),".jpg;") & ".jpg"
    'This is what I'd actually use:
    'c.value = Replace(c.value, ";", ".jpg;") & ".jpg"
next

編集した質問に答えるために、あなたが間違っているのは次のとおりです。

c.Value = Words(x) & ".jpg"

ここでは、各反復でc.Valueの値を上書きし、「。jpg」を追加しているため、最後の値のみが含まれます。

あなたがあなたの方法を使い続けたいならば、私は次のような何かを提案するでしょう:

dim temp
temp = ""
for x = Lbound(Words) to Ubound(Words)
   temp = temp & Words(x) & ".jpg"
next x
c.value = temp
于 2012-10-27T22:55:38.773 に答える
0
Sub image()
Dim c As Range


    For Each c In Selection.Cells
        Dim Words() As String
        Words() = Split(c.Value, ";")
        Dim x As Integer

        For x = 0 To UBound(Words)
        Words(x) = Words(x) & ".jpg"
        Next x
        c.Value = Join(Words, ";")
    Next
End Sub
于 2012-10-28T01:15:59.823 に答える