Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
18.10.2017 08:38:48 |
Chris |
|
|
|
18.10.2017 09:33:53 |
Chris |
|
|
Abgeschlossen |
18.10.2017 12:12:35 |
Gast31549 |
|
|
|
18.10.2017 12:19:03 |
Gast14221 |
|
|
Von:
Gast31549 |
Datum:
18.10.2017 12:12:35 |
Views:
587 |
Rating:
|
Antwort:
|
Thema:
Abgeschlossen |
Code aus Herber Forum, zu diesem Beitrag
Option Explicit
Sub Transfer_Data()
Dim ws_Daten As Worksheet
Dim rowsToCopy As Variant
Dim rng, tmp As Range
Dim wb As Workbook
Dim lRow As Long
Set wb = Workbooks.Open("Workbook mit Daten")
wb.Unprotect "Passwort des Workbooks"
Set ws_Daten = wb.Sheets(1) 'Anpassen
With ws_Daten
lRow = .Cells(.Rows.Count, 4).End(xlUp).Row
Set rng = .Range(.Cells(1, 4), .Cells(lRow, 4))
rowsToCopy = Get_Row_Array(rng, "T_TL xxx oooo")
If IsArray(rowsToCopy) Then
Transfer_data_To_other_Workbook rowsToCopy, ws_Daten
End If
End With
wb.Protect "Passwort des Workbooks"
End Sub
Private Function Get_Row_Array(ByVal rng As Range, ByVal ValueToFind As Variant) As Variant
Dim array_() As Variant
Dim counter As Long
Dim firstAddress
Dim c As Range
With rng
Set c = .Find(ValueToFind, LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
counter = 0
Do
ReDim Preserve array_(counter)
array_(counter) = c.Row
counter = counter + 1
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
Get_Row_Array = array_
End Function
Private Function Transfer_data_To_other_Workbook(ByVal array_ As Variant, ByVal FromWorksheet _
As Worksheet)
Dim varItem As Variant
Dim ws As Worksheet
Dim wb As Workbook
Dim lRow As Long
Dim tmp As Range
Set ws = ThisWorkbook.Sheets("Worksheet wo es rein soll")
With ws
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
For Each varItem In array_
With FromWorksheet
Set tmp = .Range(.Cells(varItem, 2), .Cells(varItem, 4))
End With
.Range("A" & lRow).Resize(, tmp.Columns.Count) = tmp.Value
Set tmp = Nothing
lRow = lRow + 1
Next varItem
End With
End Function |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
|
18.10.2017 08:38:48 |
Chris |
|
|
|
18.10.2017 09:33:53 |
Chris |
|
|
Abgeschlossen |
18.10.2017 12:12:35 |
Gast31549 |
|
|
|
18.10.2017 12:19:03 |
Gast14221 |
|
|