2017-01-30 19 views
0

私はこれに多くの問題が発生しています。Excel - VBA |範囲の値を解析して別の列にコピーします

私がしようとしているのは、基本的にはExcelに範囲セルの内容を解析させ、内容が "OWNED"と等しくない場合は別の列にコピーします。私は実際に何をすべきか分かりません。インターネット上で見つかったさまざまなマクロを試してみましたが、誰も必要なものを申請するように見えなかったし、これを行うための知識が不足しているので、少なくとも正しい方向に私を指していた。そこで、基本的

私はこの

enter image description here

にこの

enter image description here

から取得しようとしているとあなたが見ることができるように、私は空のセルを惜しまないためのプログラムが必要になります最初の列に。

私はこれで私の手を貸すことができる誰かに非常に感謝されるだろう、それは数週間のために私が狂気作っています:事前に/

感謝を。

EDIT:追加されたコード

Sub Update() 

Dim wb As Workbook 
Dim ws As Worksheet 

Set wb = ActiveWorkbook 
Set ws = wb.Sheets("Hoja1") 

Dim UninstalledColumn As String 
Dim UninstalledRow As Integer 

UninstalledColumn = "A" 
UninstalledRow = 3 

Dim UninstalledCell As Range 
Set UninstalledCell = UninstalledColumn & Str(UninstalledRow) 

Dim WorkstationList As Range 
Set WorkstationList = Range("C3:C12") 



End Sub 
+0

を試してみてください。 – teylyn

+0

これまでのことをちょうど追加しました。私はオブジェクトが16行目に必要であると言っているエラーを取得しています。 – JHUSTLE

答えて

2

あなたのコードのヘルプを表示したい場合は、あなたのコードをポストする必要があります。この

Sub Update() 

Dim wb As Workbook 
Dim ws As Worksheet 

Set wb = ActiveWorkbook 
Set ws = wb.Sheets("Hoja1") 

Dim UninstalledColumn As String 
Dim UninstalledRow As Integer 

UninstalledColumn = "A" 
UninstalledRow = 3 

'this is how you would assign a range, but you don't need that. 
' Dim UninstalledCell As Range 
' Set UninstalledCell = ws.Range(UninstalledColumn & UninstalledRow) 

Dim WorkstationList As Range 
Set WorkstationList = ws.Range("C3:C12") 

For Each cel In WorkstationList 
    If cel.Value <> "owned" Then 
     ws.Cells(UninstalledRow, UninstalledColumn) = cel.Value 
     UninstalledRow = UninstalledRow + 1 
    End If 
Next cel 
End Sub 
+0

ありがとう、それは私が必要としたものでした。 もう一度お世話になりました。 – JHUSTLE

関連する問題