牛、豚、鶏、どれか一つ食べられなくなるとしたら?

下記のマクロを実行したところ、J2,K2,M2セルには数式がそのまま表示され数式として認識されません。J,K,M列はハイフン付き数字、ローマ字付き数字等を入力するために文字列に設定、他の列は標準に設定してあります。数式が表示されるためにデータ、区切り位置、完了を押すことで認識されるとありましたので、後段、マクロの記録で追加した結果、文字列も数式として認識するようになりましたが,他の方法がありましたら教えてください。
Sub データ初期設定()
Worksheets("データ").Activate

ActiveSheet.Unprotect

Range("c5").Formula = "=最終行(""b"")"
Range("a2").Formula = "=IF(COUNTIF(P2:Y2,""A"")>=1,1,"""")"
Range("b2").Formula = "=ROW()-9"
Range("c2").Formula = "=C1"
Range("d2").Formula = "=IF(E2=1,"""",D1)"
Range("e2").Formula = "=IF(C1<>C2,1,E1+1)"
Range("f2").Formula = "=IF(E2=1,"""",F1)"
Range("j2").Formula = "=IF(ISERROR(VLOOKUP(B2,記録表!$B$11:$V$300,21,0)),"""",VLOOKUP(B2,記録表!$B$11:$V$300,21,0))"
Range("k2").Formula = "=IF(E2=1,"""",K1)"
Range("m2").Formula = "=IF(E2=1,"""",M1)"
Range("z2").Formula = "=IF($AC2="""","""",IF(AD2<>"""",VLOOKUP($AC2,項目説明!$B$7:$C$53,2,0)&"" ""&VLOOKUP($AD2,項目説明!$B$7:$C$53,2,0),VLOOKUP($AC2,項目説明!$B$7:$C$53,2,0)))"
Range("af2").Formula = "=K2&"" - ""&M2&"" - ""&N2"
Range("ag2").Formula = "=IF(COUNTIF($AF2:AF$9,AF2)>1,""重複"","""")"
Range("ai2").Formula = "=IF(AC2="""","""",VLOOKUP(AC2,項目説明!$B$10:$D$53,3,0)& IF(AD2="""","""",VLOOKUP(AD2,項目説明!$B$10:$D$53,3,0)))"

'後段 マクロの記録から

Range("j2").Select
Selection.TextToColumns Destination:=Range("J2"), TrailingMinusNumbers:=True
Range("K2").Select
Selection.TextToColumns Destination:=Range("K2"), TrailingMinusNumbers:=True
Range("M2").Select
Selection.TextToColumns Destination:=Range("M2"), TrailingMinusNumbers:=True

ActiveSheet.Protect

End Sub

A 回答 (1件)

こんにちは



>他の方法がありましたら教えてください。
普通に考えれば、式を設定する前に、対象セルの書式を”標準”などにしておくとか。

Range("J2,K2,M2").NumberFormatLocal = "G/標準"
    • good
    • 0
この回答へのお礼

ありがとうございました。式入力後に

Range("J2,K2,M2").NumberFormatLocal = "@" 

を組み込むことで文字列として1-6,5-26(5月26日とならず)と入力することができました。

お礼日時:2022/09/18 19:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報