Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
276to280
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

excel makro zeilen kopieren

excel makro zeilen kopieren
10.07.2003 13:41:53
arnold
habe folgendes problem:
soll aus verschiedenen blättern derselben datei immer verschiedene felder in ein neues blatt kopieren:
z.b.:
1.blatt:
nummer.name.nachname
1 anton meier
2 gernot müller
2.blatt:
nummer.name.nachname
3 martin geier
4 willi eigner
dies soll auf dem neuen blatt so aussehen:
nummer.name.nachname
1 anton meier
2 gernot müller
3 martin geier
4 willi eigner
hätte folgenden code anzubieten:

Sub Auswert()
' Auswertung von Sysdata Konvertierungsfiles
' Suchkriterium: Kontobezeichnung
' Ergebnis: darauf kontierte Stunden & Aufgaben werden gesammelt
Application.ScreenUpdating = False
Kontierungsfile = Application.GetOpenFilename(, , "Sysdata MA-spez. Kontierungsfiles")
If Kontierungsfile = False Then ' Benutzer hat abgebrochen
Exit 

Sub
End If
directory = CurDir()
concatfile = InputBox("Wie soll das Ergebnis-File heissen?")
suchstring = InputBox("Bitte zu suchende Kontobezeichnung eingeben")
'Protokolldatei für MA-Name anlegen
Set protbook = Workbooks.Add
Set newbook = Workbooks.Add
newbook.Activate
Range("A1") = "Konto:"
Range("B1") = suchstring
Range("A2") = "MA"
Range("B2") = "Thema1"
Range("C2") = "Thema2"
Range("D2") = "Stunden"
Range("A2").Activate
z_reihe = 3
Set dateisuche = Application.FileSearch
With dateisuche
.LookIn = directory
If .Execute() = 0 Then
MsgBox "Verzeichnis ist leer"
End If
MsgBox ("Es werden " & .FoundFiles.Count & " Mitarbeiterkontierungsfiles bearbeitet")
For i = 1 To .FoundFiles.Count
Kontierungsfile = .FoundFiles(i)
Workbooks.Open FileName:=Kontierungsfile, UpdateLinks:=0
MaBook = ActiveWorkbook.Name
ActiveSheet.Unprotect ("Projekt00")
'MA-Name/Personalnr. lesen
Ma_name = Range("C4").Value
If Ma_name = "" Then
Ma_name = ""
End If
'Ende der Daten suchen
Range("A7").Select
Selection.End(xlDown).Activate
reihe = ActiveCell.Row
For r = 2 To reihe
' Daten suchen
If InStr(Cells(r, 3).Value, suchstring) Then
Kontobez = Cells(r, 3)
'zu kopierende Daten selektieren
For c = 7 To 40
If Cells(r, c) <> "" Then
Aufwand = Cells(r, c)
Thema1 = Cells(4, c)
Thema2 = Cells(5, c)
newbook.Activate
Cells(z_reihe, 1) = Ma_name
Cells(z_reihe, 2) = Thema1
Cells(z_reihe, 3) = Thema2
Cells(z_reihe, 4) = Aufwand
Cells(z_reihe, 5) = Kontobez
z_reihe = z_reihe + 1
Workbooks(MaBook).Activate
End If
Next c
End If
Next r
' Kontierungsfile schließen
Workbooks(MaBook).Activate
Application.CutCopyMode = False
Workbooks(MaBook).Close Savechanges:=False
'Prokolleintrag durchühren
protbook.Activate
Range("A" & i).Value = Ma_name
Range("B" & i).Value = Personalnr
Next i
End With
' Ergebnis-File zurückschreiben
newbook.Activate
ActiveWorkbook.SaveAs FileName:= _
directory & "\" & concatfile, FileFormat:=xlWorkbookNormal, CreateBackup:=False
newbook.Close Savechanges:=False
'Protokollfile schreiben
protbook.Activate
ActiveWorkbook.SaveAs FileName:=directory & "\" & concatfile & "_Prot", FileFormat:=xlWorkbookNormal, CreateBackup:=False
protbook.Close Savechanges:=False
' Auf Makrofile zurückschalten
Workbooks("Auswert.xls").Worksheets("Tabelle1").Activate
Application.ScreenUpdating = True
End 

Sub
dieser kann das bei verschiedenen dateien, bin aber leider so unfähig in vba dass ich das nicht mal umschreiben kann.
wäre für jede hilfe dankbar,
mfg arnold

                    

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: excel makro zeilen kopieren
11.07.2003 21:51:26
OliveR
Hallo Arnold,
ich weiss nicht recht, ob ich Deine Anfrage richtig gedeutet habe. Vielleicht hilft Dir das weiter.
Gruss
OliveR
_____________________________________________________________________________________

Sub Makro2()
Dim i%
Sheets(1).Select
Range("A1").EntireRow.Copy
Sheets.Add
ActiveSheet.Name = "Gesamt"
ActiveSheet.Paste
Sheets("Gesamt").Move Before:=Sheets(1)
For Each sh In ThisWorkbook.Sheets
MsgBox (sh.Name)
sh.Select
If sh.Name <> "Gesamt" Then
If sh.Cells(1, 1) <> "" Then
lR = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(2, 1), Cells(lR, 1)).EntireRow.Copy
Sheets("Gesamt").Select
Cells(ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Select
ActiveSheet.Paste
End If
End If
Next sh
'sortierung nach nummern
Sheets("Gesamt").Select
Cells.Select
Application.CutCopyMode = False
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub


Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige