Sub my_macro()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Workbooks("a").Activate
Sheets("personal").UsedRange.Clear
With Sheets("data")
.Range("a2:a" & .Range("a" & Rows.Count).End(xlUp).Row).Copy
End With
With Sheets("personal")
.Range("B1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
.Range("a1:a" & .Range("b" & Rows.Count).End(xlUp).Row).FormulaR1C1 = _
"=IFERROR(INDEX(data!C[3],MATCH(personal!RC[1],data!C,0)),"""")"
.Range("$B$1:$B$501").RemoveDuplicates Columns:=1, Header:=xlNo
.UsedRange.Value = .UsedRange.Value
End With
your_macro
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Excel 2007 | ||||
---|---|---|---|---|
A | B | |||
1 | CAD Electrical design | Blts, Jan | ||
2 | CAD Electrical design | Tippktter, Frank | ||
3 | CAD Electrical design | Pindak, Martin | ||
4 | CAD Electrical design | Jarmara, Martin | ||
5 | CAD Electrical design | Mammen Dr., Heinz-Theo | ||
6 | CAD Electrical design | Peng, Bruce | ||
7 | CAD Knowledge Based Engineering | Biermann Dr., Gerhard | ||
8 | CAD Knowledge Based Engineering | Kohlenberg, Petra | ||
9 | CAD Knowledge Based Engineering | Pott, Karl-Heinz | ||
10 | CAD Knowledge Based Engineering | Schrader-Mavridis, Marko | ||
11 | CAD Knowledge Based Engineering | Dolezel, Radek | ||
12 | CAD Knowledge Based Engineering | Sychrava, Petre | ||
13 | ||||
personal |
Cell Formulas | ||
---|---|---|
Range | Formula | |
A1 | =IFERROR(INDEX(data!D:D,MATCH(personal!B1,data!A:A,0)),"") |
Excel 2007 | ||||
---|---|---|---|---|
A | B | |||
1 | CAD Electrical design | Blts, Jan | ||
2 | CAD Electrical design | Tippktter, Frank | ||
3 | CAD Electrical design | Pindak, Martin | ||
4 | CAD Electrical design | Jarmara, Martin | ||
5 | CAD Electrical design | Mammen Dr., Heinz-Theo | ||
6 | CAD Electrical design | Peng, Bruce | ||
7 | CAD Knowledge Based Engineering | Biermann Dr., Gerhard | ||
8 | CAD Knowledge Based Engineering | Kohlenberg, Petra | ||
9 | CAD Knowledge Based Engineering | Pott, Karl-Heinz | ||
10 | CAD Knowledge Based Engineering | Schrader-Mavridis, Marko | ||
11 | CAD Knowledge Based Engineering | Dolezel, Radek | ||
12 | CAD Knowledge Based Engineering | Sychrava, Petre | ||
13 | ||||
personal |
Cell Formulas | ||
---|---|---|
Range | Formula | |
A1 | =IFERROR(INDEX(data!D:D,MATCH(personal!B1,data!A:A,0)),"") |
Excel 2007 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
C | D | E | F | G | H | I | J | |||
1 | CAD Electrical design | Blts, Jan | Tippktter, Frank | Pindak, Martin | Jarmara, Martin | Mammen Dr., Heinz-Theo | Peng, Bruce | |||
2 | CAD Knowledge Based Engineering | Biermann Dr., Gerhard | Kohlenberg, Petra | Pott, Karl-Heinz | Schrader-Mavridis, Marko | Dolezel, Radek | Sychrava, Petre | |||
3 | ||||||||||
personal |
Sub ReorgDataV2()
' hiker95, 05/25/2014, ME780017
Dim oa As Variant
Dim r As Long, lr As Long, nr As Long, nc As Long, n As Long
Application.ScreenUpdating = False
With Sheets("personal")
lr = .Cells(Rows.Count, 1).End(xlUp).Row
oa = .Range("A1:B" & lr)
With .Range("A1:A" & lr)
.Value = .Value
End With
.Range("A1:B" & lr).Sort key1:=Range("A1"), order1:=1
nr = 0
For r = 1 To lr
n = Application.CountIf(.Columns(1), .Cells(r, 1).Value)
If n = 1 Then
nr = nr + 1
.Cells(nr, 4).Resize(, 2).Value = .Cells(r, 1).Resize(, 2).Value
ElseIf n > 1 Then
nr = nr + 1
.Cells(nr, 4).Value = .Cells(r, 1).Value
.Cells(nr, 5).Resize(, n).Value = Application.Transpose(.Range("B" & r & ":B" & r + n - 1).Value)
End If
r = r + n - 1
Next r
.Range("A1:B" & lr) = oa
With .Range("A1:A" & lr)
.Formula = "=IFERROR(INDEX(data!D:D,MATCH(personal!B1,data!A:A,0)),"""")"
End With
.Columns.AutoFit
.Activate
End With
Application.ScreenUpdating = True
End Sub
Sub my_macro_V2()
' hiker95, 05/25/2014, ME780017
Dim lr As Long
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Workbooks("a").Activate
Sheets("data").Activate
Range("A2:A10000").Select
Selection.Copy
Sheets("personal").Activate
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
ActiveSheet.Range("$B$1:$B$501").RemoveDuplicates Columns:=1, Header:=xlNo
lr = Cells(Rows.Count, 2).End(xlUp).Row
Range("A1:A" & lr).Formula = "=IFERROR(INDEX(data!D:D,MATCH(personal!B1,data!A:A,0)),"""")"
End Sub