Guten Abend eine Frage hätte ich mal.Wie kann ich spalten die nicht kopiert werden sollen ausblenden. Brauche die Zellen B1 bis B16 dann von B20 bis B26 und von B28 bis B30.Die ganze Spalte D brauche ich nicht .Und den Vor und Nachname aus der Kopfzeile sollte auch in die spalte A2 übertragen..ein Makro ist vorhanden aber es kopiert mir alle zellen auch die ich nicht brauche . Sollte alles auf die Tabelle Medikamente übertragen werden. Vielen dank
Bestellung 01.xlsm (Größe: 184,89 KB / Downloads: 10)
21.11.2016, 23:08 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2016, 07:19 von WillWissen.
Bearbeitungsgrund: Makro in Codetags gesetzt
)
Hallo
wie kann ich das Makro ändern das zum Beispiel die Spalte D micht mit kopiert wird?
danke
mein Makro
Code:
Sub SuperKopieren()
Dim rngSource As Range, rngTarget As Range
Dim iCounter As Integer
Set rngSource = Worksheets("Medikamente").Range("C1:J26")
Set rngTarget = Worksheets("Bestellung").Range("A1:J18")
rngSource.Copy rngTarget
For iCounter = 1 To rngSource.Rows.Count
rngTarget.Rows(iCounter).RowHeight = _
rngSource.Rows(iCounter).RowHeight
Next iCounter
For iCounter = 1 To rngSource.Columns.Count
rngTarget.Columns(iCounter).ColumnWidth = _
rngSource.Columns(iCounter).ColumnWidth
Next iCounter
End Sub
22.11.2016, 06:59 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2016, 07:25 von WillWissen.
Bearbeitungsgrund: Link entfernt, da Themen zusammengeführt
)
(21.11.2016, 23:08)teufelchenbs schrieb: Hallo
wie kann ich das Makro ändern das zum Beispiel die Spalte D micht mit kopiert wird?
danke
mein Makro
Code:
Sub SuperKopieren()
Dim rngSource As Range, rngTarget As Range
Dim iCounter As Integer
Set rngSource = Worksheets("Medikamente").Range("C1:J26")
Set rngTarget = Worksheets("Bestellung").Range("A1:J18")
rngSource.Copy rngTarget
For iCounter = 1 To rngSource.Rows.Count
rngTarget.Rows(iCounter).RowHeight = _
rngSource.Rows(iCounter).RowHeight
Next iCounter
For iCounter = 1 To rngSource.Columns.Count
rngTarget.Columns(iCounter).ColumnWidth = _
rngSource.Columns(iCounter).ColumnWidth
Next iCounter
End Sub
Sub SuperKopieren()
Dim rngArea As Range, rngColumn As Range
Dim rngSource As Range, rngTarget As Range
Dim iCounter As Integer
Set rngSource = Worksheets("Medikamente").Range("C1:C26,E1:J26")
Set rngTarget = Worksheets("Bestellung").Range("A1")
rngSource.Copy rngTarget
Set rngTarget = rngTarget.CurrentRegion
For iCounter = 1 To rngSource.Rows.Count
rngTarget.Rows(iCounter).RowHeight = _
rngSource.Rows(iCounter).RowHeight
Next iCounter
iCounter = 0
For Each rngArea In rngSource.Areas
For Each rngColumn In rngArea.Columns
iCounter = iCounter + 1
rngTarget.Columns(iCounter).ColumnWidth = rngColumn.ColumnWidth
Next rngColumn
Next rngArea
End Sub
für Deine Wünsche hast Du einen bescheidenen Tabellenaufbau! Deine Medikamenten-Tabelle benötigt nur einen Kopf, den Rest kann man über das Druckmenü einstellen. Dann werden die Medikamente unteinander geschrieben und die Auswertung bzw. das Makro ist in der Hälfte der Zeit erledigt!
Denke mal darüber nach, dann reden wir weiter!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
mein Makro soll Deins ersetzen. Also musst Du Dein altes löschen oder auskommentieren.
Gruß Uwe
Sub SuperKopieren() Dim rngArea As Range, rngColumn As Range Dim rngSource As Range, rngTarget As Range Dim iCounter As Integer
Set rngSource = Worksheets("Medikamente").Range("C1:C26,E1:J26")
Set rngTarget = Worksheets("Bestellung").Range("A1")
rngSource.Copy rngTarget
Set rngTarget = rngTarget.CurrentRegion For iCounter = 1 To rngSource.Rows.Count rngTarget.Rows(iCounter).RowHeight = _ rngSource.Rows(iCounter).RowHeight
Next iCounter
iCounter = 0 For Each rngArea In rngSource.Areas For Each rngColumn In rngArea.Columns iCounter = iCounter + 1 rngTarget.Columns(iCounter).ColumnWidth = rngColumn.ColumnWidth
Next rngColumn
Next rngArea
End Sub
alles was farblich ist zeigt Excel in rot an
Syntaxfehler
das ist seltsam. Die führenden scheinbaren Leerzeichen sind in Wirklichkeit Ascii 160-Zeichen.
Kopiere den Code noch einmal komplett aus diesem Thread in ein Modul oder lösche/ersetze diese Zeichen.