Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2858 / 13646 ツリー ←次へ | 前へ→

【65451】重複を除外して別Sheetに貼り付けするには? ちいぱぱ 10/5/22(土) 20:20 質問[未読]
【65453】Re:重複を除外して別Sheetに貼り付けするに... ponpon 10/5/22(土) 20:41 発言[未読]
【65458】Re:重複を除外して別Sheetに貼り付けするに... ちいぱぱ 10/5/24(月) 10:10 質問[未読]
【65459】Re:重複を除外して別Sheetに貼り付けするに... ponpon 10/5/24(月) 10:27 発言[未読]
【65461】Re:重複を除外して別Sheetに貼り付けするに... Yuki 10/5/24(月) 11:04 発言[未読]
【65583】Re:重複を除外して別Sheetに貼り付けするに... ちいぱぱ 10/6/11(金) 13:33 質問[未読]
【65585】Re:重複を除外して別Sheetに貼り付けするに... Yuki 10/6/11(金) 15:30 発言[未読]
【65586】Re:重複を除外して別Sheetに貼り付けするに... ちいぱぱ 10/6/11(金) 15:41 質問[未読]
【65587】Re:重複を除外して別Sheetに貼り付けするに... Yuki 10/6/11(金) 16:07 発言[未読]
【65588】Re:重複を除外して別Sheetに貼り付けするに... ちいぱぱ 10/6/11(金) 16:13 質問[未読]

【65451】重複を除外して別Sheetに貼り付けするに...
質問  ちいぱぱ  - 10/5/22(土) 20:20 -

引用なし
パスワード
   お世話になります
重複しているSheet1から重複を除外して特定のセルから貼り付けをさせたい
Sheet1
氏名
次郎
一郎
太郎
一郎
三郎
一郎

Sheet2
次郎
一郎
太郎
三郎

m(__)mなにとぞ宜しくお願いします

【65453】Re:重複を除外して別Sheetに貼り付けする...
発言  ponpon  - 10/5/22(土) 20:41 -

引用なし
パスワード
   フィルターオプションをマクロの記録すると、
すぐにできると思います。

ちなみに こんな感じ

Sub Macro1()
  Sheets("Sheet1").Range("A1:A10").AdvancedFilter Action:=xlFilterCopy, _
  CopyToRange:=Sheets("Sheet2").Range("A1"), Unique:=True
End Sub

【65458】Re:重複を除外して別Sheetに貼り付けする...
質問  ちいぱぱ  - 10/5/24(月) 10:10 -

引用なし
パスワード
   ▼ponpon さん:
>フィルターオプションをマクロの記録すると、
>すぐにできると思います。
>
>ちなみに こんな感じ
>
>Sub Macro1()
>  Sheets("Sheet1").Range("A1:A10").AdvancedFilter Action:=xlFilterCopy, _
>  CopyToRange:=Sheets("Sheet2").Range("A1"), Unique:=True
>End Sub

お返事有難うございます

フィールド名を外すのと
値のみ貼り付けはどうすればよいですか?

【65459】Re:重複を除外して別Sheetに貼り付けする...
発言  ponpon  - 10/5/24(月) 10:27 -

引用なし
パスワード
   ▼ちいぱぱ さん:
>お返事有難うございます
>
>フィールド名を外すのと
>値のみ貼り付けはどうすればよいですか?

ちなみに、そちらのシートレイアウトがわかりませんので、
これといった方法がわかりません。
 ・
>フィールド名を外す
 一行目を削除、A1を削除して上に上げる など

>値のみ貼り付けはどうすればよいですか?
シート1上ににコピーして、それをシート2に値貼り付け、この場合フィールド名も削除できます。

シート2にのA列を
   .value=.value
など・・・

【65461】Re:重複を除外して別Sheetに貼り付けする...
発言  Yuki  - 10/5/24(月) 11:04 -

引用なし
パスワード
   ▼ちいぱぱ さん:
>お世話になります
>重複しているSheet1から重複を除外して特定のセルから貼り付けをさせたい

別案で
フィール名は外して値を張り付けです。
Sub Macro2()
  Dim Dic As Object
  Dim v  As Variant
  Dim i  As Long
  
  With Worksheets("Sheet1")
    v = .Range("A1").CurrentRegion.Resize(, 1).Value
  End With
  Set Dic = CreateObject("Scripting.Dictionary")
  For i = 2 To UBound(v)
    Dic(v(i, 1)) = Empty
  Next
  v = Dic.Keys
  With Worksheets("Sheet2")
    .Columns(1).ClearContents
    .Range("A1").Resize(UBound(v) + 1).Value = Application.Transpose(v)
  End With
End Sub

【65583】Re:重複を除外して別Sheetに貼り付けする...
質問  ちいぱぱ  - 10/6/11(金) 13:33 -

引用なし
パスワード
   ▼Yuki さん:
>▼ちいぱぱ さん:
>>お世話になります
>>重複しているSheet1から重複を除外して特定のセルから貼り付けをさせたい
>
>別案で
>フィール名は外して値を張り付けです。
>Sub Macro2()
>  Dim Dic As Object
>  Dim v  As Variant
>  Dim i  As Long
>  
>  With Worksheets("Sheet1")
>    v = .Range("A1").CurrentRegion.Resize(, 1).Value
>  End With
>  Set Dic = CreateObject("Scripting.Dictionary")
>  For i = 2 To UBound(v)
>    Dic(v(i, 1)) = Empty
>  Next
>  v = Dic.Keys
>  With Worksheets("Sheet2")
>    .Columns(1).ClearContents
>    .Range("A1").Resize(UBound(v) + 1).Value = Application.Transpose(v)
>  End With
>End Sub

この状態だと途中に空白が一列でもある場合以下は表示されませんよね?
回避方法ありますか?

【65585】Re:重複を除外して別Sheetに貼り付けする...
発言  Yuki  - 10/6/11(金) 15:30 -

引用なし
パスワード
   ▼ちいぱぱ さん:

>この状態だと途中に空白が一列でもある場合以下は表示されませんよね?
>回避方法ありますか?
このように変更してね。
  With Worksheets("Sheet1")
    v = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
  End With
  
  Set Dic = CreateObject("Scripting.Dictionary")
  For i = 2 To UBound(v)
    If v(i, 1) <> "" Then Dic(v(i, 1)) = Empty
  Next

【65586】Re:重複を除外して別Sheetに貼り付けする...
質問  ちいぱぱ  - 10/6/11(金) 15:41 -

引用なし
パスワード
   ▼Yuki さん:
>▼ちいぱぱ さん:
>
>>この状態だと途中に空白が一列でもある場合以下は表示されませんよね?
>>回避方法ありますか?
>このように変更してね。
>  With Worksheets("Sheet1")
>    v = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
>  End With
>  
>  Set Dic = CreateObject("Scripting.Dictionary")
>  For i = 2 To UBound(v)
>    If v(i, 1) <> "" Then Dic(v(i, 1)) = Empty
>  Next

真にありがとうございますm(__)m
なんどもすみません
途中に空白がある場合エラーを出して(空白がありますなど)貼り付けを前面的に
しないようにするにはどうすればよいですか?

【65587】Re:重複を除外して別Sheetに貼り付けする...
発言  Yuki  - 10/6/11(金) 16:07 -

引用なし
パスワード
   ▼ちいぱぱ さん:
>途中に空白がある場合エラーを出して(空白がありますなど)貼り付けを前面的に
>しないようにするにはどうすればよいですか?

こんなふうで
Yesで終了いいえで継続です。
Sub Macro2()
  Dim Dic As Object
  Dim v  As Variant
  Dim i  As Long
  Dim flg As Boolean
  
  With Worksheets("Sheet1")
    v = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
  End With
  
  Set Dic = CreateObject("Scripting.Dictionary")
  For i = 2 To UBound(v)
    If v(i, 1) = "" Then
      If MsgBox("空白行があります。処理を中止しますか?", vbYesNo) = vbYes Then
        flg = True
        Exit For
      End If
    End If
    Dic(v(i, 1)) = Empty
  Next
  If flg Then Exit Sub
  
  v = Dic.Keys
  With Worksheets("Sheet2")
    .Columns(1).ClearContents
    .Range("A1").Resize(UBound(v) + 1).Value = Application.Transpose(v)
  End With
End Sub

【65588】Re:重複を除外して別Sheetに貼り付けする...
質問  ちいぱぱ  - 10/6/11(金) 16:13 -

引用なし
パスワード
   ▼Yuki さん:
>▼ちいぱぱ さん:
>
>>この状態だと途中に空白が一列でもある場合以下は表示されませんよね?
>>回避方法ありますか?
>このように変更してね。
>  With Worksheets("Sheet1")
>    v = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Value
>  End With
>  
>  Set Dic = CreateObject("Scripting.Dictionary")
>  For i = 2 To UBound(v)
>    If v(i, 1) <> "" Then Dic(v(i, 1)) = Empty
>  Next

真に有難うございますm(__)m
空白の場合ERRORだせますか?
現状だとがあったどうなのかの区別が付きません
(貼り付けはしましたが空白行が存在してました)のような・・・

2858 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free