[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ライト関数とレフト関数の連続』(龍)
Sub マクロ@()
Dim lngRow As Long
Dim i As Long
lngRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lngRow
Cells(i, 4) = Left(Cells(i, 3), 6)
Next
End Sub
Sub マクロβ()
Dim lngRow As Long
Dim i As Long
lngRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lngRow
Cells(i, 5) = Light(Cells(i, 3), 4)
Next
End Sub
というレフト関数とライト関数をマクロで
入れてますが、レフト関数だけ上手くいって、
ライト関数は「サブ またはファンクションが設定されていない」と
なります。
C列の文字をd列とe列にそれぞれ関数を用いて入力させるというものです。
LightではなくてRightでは?
(se_9)
Dim lngRow As Long
Dim i As Long
lngRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lngRow
Cells(i, 21) = " S i -Ti"
Next
End Sub
このとき、S列からT列を引いた値を21列目に返したいのですが、
S i -Ti が返ってしまいます。 初心者なので教えていただきたいのですが・・・
宜しくお願いします
(龍)
質問相手を限定すると、その人以外が答えにくくなってしまいます。
もしse_9さんが多忙だったりしたら、最悪の場合回答が得られないままに終わってしまいますよ。
というわけで一応出しゃばりますが、以下が実装例です。
Sub マクロ()
Dim lngRow As Long
Dim i As Long
lngRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lngRow
Cells(i, 21).Value = Cells(i, 19).Value - Cells(i, 20).Value
Next
End Sub
次にRangeを使った場合の例です。
Sub マクロ2()
Dim lngRow As Long
Dim i As Long
lngRow = Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lngRow
Range("U" & i).Value = Range("S" & i).Value - Range("T" & i).Value
Next
End Sub
列の扱いを「A列、B列」として見るのか、それとも「1列目、2列目」と見るのか、
思考を統一した方が混乱は少なくなると思います。
(ご近所PG)
ありがとうございました。
出来ました。
<龍>
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.