[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『文字列で抜きたい』(悩める事務員)
Dim fol$, bk$
bk = Dir(sur)
If bk = "" Then kGetDatCp = 1: Exit Function
fol = Left(sur, InStrRev(sur, "\"))
On Error Resume Next
With des
If Err Then kGetDatCp = 2: Exit Function
.Formula = "=IF('" & fol & "[" & bk & "]" & st & "'!" & adr & "="""","""",'" & fol & "[" & bk & "]" & st & "'!" & adr & ")"
If Err Then kGetDatCp = 2: Exit Function
.Value = .Value
End With
End Function
Sub DETA引用()
Dim sur$, st$, adr$, des As Range, rt&
sur = "H:\加工日報" & "\" & Range("G1").Value & ".xls"
st = "Sheet1"
adr = "B2000"
Set des = ActiveSheet.Range("C4:I500")
rt = kGetDatCp(des, sur, st, adr)
End Sub
>文字列のデータを数値に変換して落ちてしまいます。
データを抜くファイルは、数字だけが入力されているセルを書式設定で文字列にしているって事ですか?
If Err Then kGetDatCp = 2: Exit Function
.Value = .Value
の部分を、
If Err Then kGetDatCp = 2: Exit Function
.Copy
.PasteSpecial Paste:=xlPasteValues
に変更してみたらどうでしょう?
(Jera)
(悩める事務員) 2015/07/01(水) 12:16
>>動かなくなりました。
どのような不具合でしたか? ファイルが見つからない? 実行時にエラーになる?
状況が見えないのですが、開こうとしているブックは、xls互換ブックですか? それとも、新しく xlsx なり xlsm なりに変換したブックですか?
後者だとすると、マクロ内で指定しているブック名が ".xls" ですから If bk = "" Then kGetDatCp = 1: Exit Function で抜けてしまうとは思いますが。
(β) 2015/07/01(水) 12:39
sur = "H:\加工日報" & "\" & Range("G1").Value & ".xlsm"
になおしました。
(悩める事務員) 2015/07/01(水) 14:04
(悩める事務員) 2015/07/02(木) 12:16
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.