Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

4 Code zusammenfassen
#1
Hallo zusammen,

ich habe hier einen Code den ich vier mal habe in dem nur der Range Bereich zum kopieren ein andere ist. Um meine Daten zu übertragen führe somit vier Code aus.

Wie kann ich das mit einem Code erreichen.

hier die 4 Range
 
A7:G17
I7:M17
A25:G35
I25:M35


Code:
 Sub OrgaMaster()
'
'
'
'
Dim wb1 As Workbook
Dim wb1pfad As String
Dim wb1name As String
Dim i As Long
Dim zeile As Long
Dim ende As Long
Dim bwbopen As Boolean
Dim loLetzte As Long

wb1pfad = "\\sdegla00002\CEC\Auswertung\Übersicht der Ausfälle\"
wb1name = "Master SL3.xlsm"


   
Range("I7:M17").Select
   Selection.Copy
   
    Workbooks.Open (wb1pfad & wb1name)
   Sheets("orga. Ausfälle").Select
   Cells([a65536].End(xlUp).Row + 1, 1).Activate
   
         loLetzte = Sheets("orga. Ausfälle").UsedRange.SpecialCells(xlCellTypeLastCell + 1).Row
   
   
   
   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
   :=False, Transpose:=False
  Range("h8").Select
   
   
         
Range("A5").Select
ende = Range("A65536").End(xlUp).Row
Do Until i = ende
If ActiveCell.Value = "" Then
   ActiveCell.EntireRow.Delete
Else
   ActiveCell.Offset(1, 0).Select
End If
i = i + 1
Loop
       
       Workbooks("Master SL3.xlsm").Close SaveChanges:=True
End Sub
Danke für eure Antworten!
Gruß
Dietmar

Damit das Mögliche entsteht, muß immer wieder das Unmögliche versucht werden.  
Antworten Top
#2
Hi,

aus dem Code ist nicht ersichtlich, wo die Daten hinkopiert werden sollen. Löschen von Zeilen immer von unten nach oben!

Als ersten Ansatz:



Code:
Sub OrgaMaster()
'
'
'
'
Dim wb1 As Workbook
Dim wb1pfad As String
Dim wb1name As String
Dim i As Long
Dim zeile As Long
Dim ende As Long
Dim bwbopen As Boolean
Dim loLetzte As Long

wb1pfad = "\\sdegla00002\CEC\Auswertung\Übersicht der Ausfälle\"
wb1name = "Master SL3.xlsm"

 With Workbooks.Open(wb1pfad & wb1name).Sheets("orga. Ausfälle")
     loLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell + 1).Row
    Range("I7:M17").Copy

      Cells([a65536].End(xlUp).Row + 1, 1).Activate  ??????????????

      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False

   ende = Cells(Rows.Count, 1).End(xlUp).Row
   i = ende
   Do Until i = 5
       If Cells(i, 1) = "" Then Rows(i).EntireRow.Delete
       i = i - 1
   Loop
       
       Workbooks("Master SL3.xlsm").Close SaveChanges:=True
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hi,

(07.04.2017, 06:38)BoskoBiati schrieb:
Code:
   ende = Cells(Rows.Count, 1).End(xlUp).Row
   i = ende
   Do Until i = 5
       If Cells(i, 1) = "" Then Rows(i).EntireRow.Delete
       i = i - 1
   Loop

Jetzt kann ichs auch mal kürzer machen:
   Ende = Cells(Rows.Count, 1).End(xlUp).Row
   For i = Ende To 5 Step -1
       If Cells(i, 1) = "" Then Rows(i).EntireRow.Delete
   Next i
Antworten Top
#4
Hallo,

der TE arbeitet im oberen bereich mit specialCells und sollte das beim Löschen auch tun.

Statt dieser Zeilen:

Code:
Do Until i = ende
If ActiveCell.Value = "" Then
  ActiveCell.EntireRow.Delete
Else
  ActiveCell.Offset(1, 0).Select
End If


reicht dann

Code:
Range("A5:A" & ende).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Gruß Atilla
[-] Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:
  • Rabe
Antworten Top
#5
Hallo zusammen,

vielen Dank für eure Hilfe, hatte allerdings noch keine Zeit dies zu testen.
Feedback kommt in jedem Fall.

Danke!
Gruß
Dietmar

Damit das Mögliche entsteht, muß immer wieder das Unmögliche versucht werden.  
Antworten Top
#6
Code:
Sub M_snb
  with getobject("\\sdegla00002\CEC\Auswertung\Übersicht der Ausfälle\Master SL3.xlsm")
     with .sheets("orga. Ausfälle").cells(rows.count,1).end(xlup)
       .offset(1).resize(10,13)=range("A7:M17").value
       .offset(11).resize(10,13)=range(A25:M35").value
     end with
     .close -1
   end with

   cells(1).currentregion.offset(4).entirerow.delete
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste