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)
22.11.2016, 00:08 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2016, 08: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, 07:59 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2016, 08:25 von WillWissen.
Bearbeitungsgrund: Link entfernt, da Themen zusammengeführt
)
(22.11.2016, 00: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.