kakashi-blog・カカシブログ・

Python備忘録を書きドローンやバイクなど好きな事で生きて行こうとしているブログ

Excel PC プログラミング

Excel VBAを使用して、セルの中の図形をコピーして別のセルにペースト

投稿日:

 

実はVBAは使用せずに、関数だけでコピペをしようと思いましたが、なかなか上手くいきませんでした。

なのであきらめてVBAで作ります。

 

目的

 

順序がバラバラのセルに番号をふって、別のシートに整列させたい
※フィルター機能は使えないという前提。

 

例題

 

 

A列のセルに入ってる図形をB列のセルに入っている番号順に並べ変えたい。

1〇、2△、3□の順に。

現在のシートは”2”、並べ替えたものをシート”1”に入れたい。

 

 

VBAを書く

 

開発→VisualBasic→挿入→標準モジュール

 

Sub cp()
    Dim i As Long
    Dim R As Long
    
    
    For i = 1 To 3

        Sheets("2").Select
        Cells(i, 1).Select
        Selection.Copy
        R = Cells(i, 2).Value

        If R = 1 Then
            Sheets("1").Select
            Range("A1").Select
            ActiveSheet.Pictures.Paste
            
        ElseIf R = 2 Then
            Sheets("1").Select
            Range("A2").Select
            ActiveSheet.Pictures.Paste
            
        Else: R = 3
            Sheets("1").Select
            Range("A3").Select
            ActiveSheet.Pictures.Paste
            
        End If
        
        
    Next i
    
End Sub

 

 ちなみに普段pythonを書いているので、インデントは癖です。

 適当にボタンを作って実行してみます

 

 

実行結果

 

 

一応並びました。

ペーストされる方のセルの大きさは、合わせておかないと重なってしまって見辛くなってしまいます。

とりあえず実用出来そうなので、目的は達成されました。

もっといいやり方があればおしえてください。

-Excel, PC, プログラミング
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

PythonでFizzBuzz問題を書く

  FizzBuzz とは   元々は数人で遊ぶシンプルなゲーム。 1から順番にカウントアップして発言していき、3で割り切れる数のときは「Fizz」、5で割り切れる数の時は「Buzz]と発言していく。 …

Python備忘録 Tkinter編① 

Tkinterとは キーボード操作だけでなく、 マウスを使用した操作が可能なウィンドウやボタン、入力欄など GUI を比較的簡単に 作る事が出来るライブラリ   退屈なことはPythonにやらせよう …

Windowsキーボード入力、便利なショートカット(仮想デスクトップなど)

仮想デスクトップのショートカットを最近知りましたこんなに便利な機能があるのに、職場で使っている人を見たことなかったそもそも人のPC操作ってあまり見る機会ないですね        ①仮想デスクトップの作 …

Amazonのウェブスクレイピングが出来ない

  pythonでプログラミングを勉強(というより趣味で遊んでいる)しています。     BeautifulSoupを使用して、ウェブスクレイピングがある程度出来るようになってきた。そこでAmazon …

ナイスハッシュのmining payment毎に、レートを自動で取得(python)

マイニングを始めると、どのタイミングのレートで確定申告しようかと考えると思います。 ググると結構皆さん独自で考えて行っているのが現状ですかね。 ひと月にまとめている人、円に換えたタイミングの人・・・結 …