[[20160315102041]] 『シングルコーテーションのみ全て削除』(あい) ページの最後に飛ぶ

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

 

『シングルコーテーションのみ全て削除』(あい)

はじめまして、マクロに挑戦しておりますがどうにもうまくいかず
ご相談させていただきました、何卒よろしくお願いいたします。

シート1:ボタンを配置
シート2:リスト
シート3:ピポットテーブル

上記のようなブックがあります。

シート1にあるボタンを押すと、
シート2にあるリストのC列よりシングルコーテーションのみ全て削除
(例1:’A1234→A1234/例2:’1234→1234)
シート3にあるピポットテーブルを更新して
シート1に戻ってくる

上記のようなマクロを組みたいのですが、うまくできません。
現在、シート2の作業がなく
シート1にあるボタンを押すと、
シート3にあるピポットテーブルを更新して
シート1に戻ってくる
というものはできたのですが、

Sub ピポット更新()
'
' ピポット更新 Macro
'

'

    Sheets("シート3").Select
    ActiveSheet.PivotTables("ピボットテーブル1").PivotCache.Refresh
    Sheets("シート1").Select
End Sub

こちらに追加して、1つのボタンを押すと作業が完了できるようにできませんでしょうか?

よろしくお願いします。

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


Sub ピポット更新()
'
' ピポット更新 Macro
    Dim c As Range
    For Each c In Intersect(Sheets("シート2").UsedRange, Sheets("シート2").Columns(3)).Cells
    c.Value = Replace(c.Value, "'", "")
    Next c
    Sheets("シート3").Select
    ActiveSheet.PivotTables("ピボットテーブル1").PivotCache.Refresh
    Sheets("シート1").Select
End Sub
(mm) 2016/03/15(火) 11:07

数字の前'を消すのは簡単なのですが、文字の前'は、一度付いたら外せないので、厄介なのです。
(一度先頭に'を付けると、PrefixCharacterというプロパティに代入され、これが消せないという)
そこで、どこか空白セルを1つテンポラリにして、これを上書きすることでPrefixCharacterをNULLに戻す案。

    Dim i As Long
    Dim cw As String

    With Sheets("シート2")
        For i = 1 To .Cells(.Rows.Count, "C").End(xlUp).Row
            If .Cells(i, "C").PrefixCharacter <> "" Then
                cw = .Cells(i, "C").Value
                .Range("A1").Copy .Cells(i, "C")
                .Cells(i, "C").Value = cw
            End If
        Next i
    End With
(???) 2016/03/15(火) 11:15

無事にできました!

別のリストより、値張りで持ってきているせいか
文字列の前でもmm様の方法で行うことができました!

???様の方法も後日試してみます!

本当にありがとうございます!
(あい) 2016/03/15(火) 11:57


コメント返信:

[ 一覧(最新更新順) ]


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