[[20160823223519]] 『文字列の結合についてです』(たけさん) ページの最後に飛ぶ

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

 

『文字列の結合についてです』(たけさん)

こんばんは
久しぶりにこんがらがってます

G列 得意先コード(文字列)→0で始まるコードがあるため
J列 商品コード (文字列)→0で始まるコードがあるため
H列 kye(得意先&商品)

H2=G2&J2(1列目は見出し)
A列をみて、数値があれば、H列、最終列までコピーしたい

例)
得意先コード 032510
商品コード  2810
KYE      0325102810

上記のようにH列を表示したいのに、=G2&J2と表示されてしまいます
ご指導お願いします
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
'Kye挿入 得意先&商品
Columns("H:H").Insert Shift:=xlToRight
Range("H1").Value = "Kye"
Range("H2:H" & Range("A1048576").End(xlUp).Row).Formula = "=G2&j2"
Columns("H:H").Select
Selection.Style = "Comma [0]"

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 G2とj2のセルの表示形式が文字列だった場合、
 文字列2つのセルを参照した数式の場合、数式を書きこんだセルの表示形式はエクセルに自動で参照先と同じ文字列に変えられます。
 不思議に思うのは、数式を書きこんだセルは、表示形式が文字列に変えられても数式は生きているんですよね。
 数式の参照先を変えれば、それに応じて数式の結果は変わります。

 ただ、文字列になったセルに数式を書き込んでも文字として認識されますから、
 計算されません。

 この法則が分かれば、数式を書き込む前にセルの表示形式を標準にすればいい。
 ということが分かると思います。
 BJ 23:09

BJさん

ご回答ありがとうございます。
勉強不足で申し訳ありません

数式を書き込む前にセルの表示形式を
.NumberFormatLocal = "G/標準"にしても
結果にかわりがありません。
他に標準にする方法があるのでしょうか??
(たけさん) 2016/08/26(金) 09:25


 H列ではなくG列とJ列の表示形式を標準にしてからH列に数式を入力ではどうか?
(ねむねむ) 2016/08/26(金) 09:47

 >数式を書き込む前にセルの表示形式を 
 > .NumberFormatLocal = "G/標準"にしても 

 ・・と言うことは、
 このコードですよね?

 Sub strComb()
 'Kye挿入 得意先&商品
  Columns("H:H").Insert Shift:=xlToRight
  Columns("H:H").NumberFormatLocal = "G/標準"
  Range("H1").Value = "Kye"
  Range("H2:H" & Range("A1048576").End(xlUp).Row).Formula = "=G2&j2"
  Columns("H:H").Select
  Selection.Style = "Comma [0]"
 End Sub

 私の環境では、数式通りに値が反映しましたけど?(Win 10,XL2010)

(半平太) 2016/08/26(金) 10:00


短時間にありがとうございます。

昨日からずーっとコードを見てましたが、
別のO列を一生懸命訂正していて、
(?_?)動かない!!!となってました。

申し訳ありませんでした。

BJさん、今回大変勉強になりました!!
ねむねむさん、元をなおすという考え方もあるのですね!!
半平太さん ご丁寧に、コードまでありがとうございました!!

(たけさん) 2016/08/26(金) 10:27


コメント返信:

[ 一覧(最新更新順) ]


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