Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
548to552
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
548to552
548to552
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Codeerweiterung

Codeerweiterung
18.01.2005 06:34:39
Thomas
Einen Wunderschönen Guten Morgen ins Exel-Forum,
Luschi und Andre´... haben mir letzte Woche einen Code geschrieben, s.u.
--------------------------------------------------------------

Sub CopyM400()
Dim wb As Workbook, _
ws1 As Worksheet, ws2 As Worksheet, _
rg1 As Range, rg2 As Range, _
i1 As Integer, i2 As Integer, i3 As Integer, _
s1 As String, s2 As String
Application.ScreenUpdating = False
Set wb = ThisWorkbook
Set ws1 = wb.Worksheets("Lohndaten")
Set ws2 = wb.Worksheets("Buch")
Set rg1 = ws1.Range("M10:M400")
ws2.Rows("10:400").ClearContents
i1 = 10
For Each rg2 In rg1
If rg2.Value = "400" Then
ws1.Select
i2 = rg2.Row
s1 = "" & i2 & ":" & i2
ws1.Rows(s1).Select
Selection.Copy
s2 = "" & i1 & ":" & i1
ws2.Select
ws2.Rows(s2).Select
ws2.Paste
i1 = i1 + 1
End If
Next rg2
Application.CutCopyMode = False
ws2.Range("A" & i1).Select
Set rg1 = Nothing
Set rg2 = Nothing
Set ws1 = Nothing
Set ws2 = Nothing
Set wb = Nothing
Application.ScreenUpdating = False
End Sub

Nun habe ich Gedacht, ich könnte diesen Code selber erweitern, jedoch gestaltet sich dies für mich als absoluten VBA Neuling schwieriger als gedacht.
Der Code sollte wenn sich jemand meiner annimmt so umgeschrieben werden, dass auch Blatt „Lohndaten_2“ mit einbezogen wird.
anbei die Datei:
https://www.herber.de/bbs/user/16266.xls
Es würde mich sehr Freuen, hierfür von euch Unterstützung zu bekommen
Gruß Thomas

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
@Luschi u. Andre´ und weitere Helfer
18.01.2005 15:41:55
Thomas
Hallo
ich weiss wirklich nicht mehr weiter.
Bitte Helft mir noch einmal.
Lieben Dank
Gruß Thomas
AW: @Luschi u. Andre´ und weitere Helfer
Volker
Hallo Thomas,
hab den Code mal überarbeitet und noch eine Variante eingefügt, die etwas kürzer ist.
Schau mal rein.
https://www.herber.de/bbs/user/16316.xls
Gruß
Volker
überarbeiteter Code
19.01.2005 06:39:31
Thomas
Guten Morgen Volker,
erst einmal ein Dank, dass Du mir weiterhelfen möchtest.
Habe die Datei mal ausprobiert, aber bei mir kommt eine Fehlermeldung:
Fehler beim Kompilieren
Mehrfachdeklaration im aktuellen Bereich.
Würdest Du bitte nochmals nachschauen?
Dank im Voraus
Gruß Thomas
Anzeige
AW: überarbeiteter Code
Reinhard
Hi Thomas,
anfangs im DIM Befehl wird ws2 2mal deklariert, ändere das zweite auf ws3
Gruß
Reinhard
AW: überarbeiteter Code
19.01.2005 07:04:36
Thomas
Hallo Reinhard,
habe es abgeändert, aber nun schreibt es mir alles in "Lohndaten" bis Zeile 402 rein.
Gruß Thomas
AW: überarbeiteter Code
Volker
Hallo Thomas,
vergiß die 1. Variante, nimm diese hier (

Sub CopyM400_2()
Dim wb As Workbook, _
ws1, ws2, ws3 As Worksheet, _
rg1 As Range, rg2 As Range, _
i1, i2, i3 As Integer
Application.ScreenUpdating = False
Set wb = ActiveWorkbook
Set ws1 = wb.Worksheets("Buch")
Set ws2 = wb.Worksheets("Lohndaten")
Set ws3 = wb.Worksheets("Lohndaten_2")
ws1.Rows("10:400").ClearContents
i1 = 9
Set rg1 = ws2.Range("M10:M400")
For Each rg2 In rg1
If rg2 = "400" Then
i1 = i1 + 1
ws2.Rows(rg2.Row).Copy 'Select
ws1.Select
Rows(i1).Select
ActiveSheet.Paste
End If
Next rg2
Set rg1 = ws3.Range("M10:M400")
For Each rg2 In rg1
If rg2 = "400" Then
i1 = i1 + 1
ws3.Rows(rg2.Row).Copy 'Select
ws1.Select
Rows(i1).Select
ActiveSheet.Paste
End If
Next rg2
Application.CutCopyMode = False
ActiveSheet.Range("A" & i1).Select
Application.ScreenUpdating = True
End Sub

Gruß
Volker
Anzeige
AW: überarbeiteter Code
19.01.2005 15:11:25
Thomas
Hi Volker,
habe soeben deinen Code getestet.
Läuft nun wie gewünscht.
Ich stehe in deiner Schuld
Nochmals Vielen Dank für die Hilfe.
Wünsche noch einen angenehmen Tag.
Gruß Thomas
freut mich, wenn klappt o.T.
Volker
.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige