Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Übertrag Daten ohne Format/Formel und in nächste Spalte

Forumthread: Übertrag Daten ohne Format/Formel und in nächste Spalte

Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 08:42:03
chris58
Hallo !
Ich habe mir das u.a. Makro zusammengestoppelt, so wie ich es kann bzw. gleube zu können.
Nun stoße ich jedoch auf Widerstand. Ich möchte die Zellen ohne Format und Formel in die Spalte übertragen und dann noch jede weitere "Sicherung" in die darauffolgende Spalte. Also statt 26,4 in .................................. 26,5 & 26,6 usw.
Kann mir bitte da wer weiterhelfen. Meine VBA Kenntnisse sind eher bescheiden.
Danke für Eure Mühe
chris58

Sub Kopieren1()
With Sheets("Berechnung")
.Cells(16, 7).Copy Sheets("History").Cells(26, 4)
.Cells(19, 7).Copy Sheets("History").Cells(27, 4)
.Cells(18, 3).Copy Sheets("History").Cells(28, 4)

End With
With Sheets("History")
.Cells(13, 2).Copy Sheets("History").Cells(30, 4)
.Cells(14, 2).Copy Sheets("History").Cells(31, 4)
.Cells(15, 2).Copy Sheets("History").Cells(32, 4)
.Cells(16, 2).Copy Sheets("History").Cells(33, 4)
.Cells(19, 2).Copy Sheets("History").Cells(34, 4)
.Cells(20, 2).Copy Sheets("History").Cells(35, 4)


End With
End Sub
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 09:26:14
UweD
Hallo

- zusammenhängende Zellen kannst du auch auf einmal übertragen. Das mache ich gerne über .resize
- durch .value wird der angezeigte Inhalt übertragen


Sub Kopieren1()

With Sheets("Berechnung")
Sheets("History").Cells(26, 4).Resize(1, 2).Value = .Cells(16, 7).Value
Sheets("History").Cells(27, 4).Resize(1, 2).Value = .Cells(19, 7).Value
Sheets("History").Cells(28, 4).Resize(1, 2).Value = .Cells(18, 3).Value

End With
With Sheets("History")
.Cells(30, 4).Resize(4, 2).Value = .Cells(13, 2).Resize(4, 1).Value
.Cells(34, 4).Resize(2, 2).Value = .Cells(19, 2).Resize(2, 1).Value

End With
End Sub


LG UweD
Anzeige
AW: Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 09:48:33
chris58
Hallo UweD !
Danke erstmal.
Also das kopiert nun nur die Werte. Was ist: Es kopiert und fügt IMMER in 26, 4 & 26, 5 ein. Also werden zwei Spalten gefüllt. Es soll eigentlich in 26, 4 anfangen und dann kontinuierlich beim nächsten Copy&Paste in 26, 5 und beim nächsten in 26, 6 usw. einfügen. Das wäre super, denn dann hätte ich die Jahre nacheinander gespeichert und könnte mir einen Überblick verschaffen, was, wo besser bzw. schlechter ist.
Wenn das ginge................es wäre supersuper
lg chris58
Anzeige
AW: Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 11:00:21
UweD
Hallo


Ok dann so
Sub Kopieren1()

Dim TB As Worksheet, LC As Integer
Set TB = Sheets("Berechnung")

With Sheets("History")
LC = .Range("26:35").SpecialCells(xlCellTypeLastCell).Column + 1 'erste freie Spalte im Bereich

.Cells(26, LC).Value = TB.Cells(16, 7).Value
.Cells(27, LC).Value = TB.Cells(19, 7).Value
.Cells(28, LC).Value = TB.Cells(18, 3).Value

.Cells(30, LC).Resize(4, 1).Value = .Cells(13, 2).Resize(4, 1).Value
.Cells(34, LC).Resize(2, 1).Value = .Cells(19, 2).Resize(2, 1).Value

End With
End Sub


LG UweD
Anzeige
AW: Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 12:02:27
chris58
Hallo UweD !
Ich habe das statt dem anderen Code reinkopiert - doch, da rührt sich gar nichts. Bleibt alles leer, kein Übertrag - nichts.
Hast eine Ahnung....warum ?
Danke für Deine Zeit
chris58
AW: Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 13:20:34
UweD
Lade doch mal Deine Musterdatei hoch
AW: Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 13:36:44
chris58
Hallo UweD !
Ich habe es befürchtet, das ich die Datei hochladen soll. Ich habe sie abgespeckt, sonst geht sich das selbst mit einer ZIP Datei schlecht aus.
Hoffe ich habe alles was relevant ist, drangelassen :)
Danke das du mir beistehst.
lg chris58

https://www.herber.de/bbs/user/172895.xls
Anzeige
AW: Übertrag Daten ohne Format/Formel und in nächste Spalte
15.10.2024 14:09:01
UweD
Hallo nochmal


Die Daten wurden ziemlich hinten Spalte 158... eingefügt
Warum? Keine Ahnung ob da mal was stand

Ich ermittel nun die letzte Spalte in Zeile 26

Tausche die LC= Zeile hiermit aus

        LC = .Cells(26, .Columns.Count).End(xlToLeft).Column + 1 'letzte Spalte einer Zeile+1



LG UweD
Anzeige
Danke Danke Danke
15.10.2024 14:37:52
chris58
Hallo UweD !
Ich habe das geändert, doch es hat wieder soweit nch hinten geschrieben.
Nun habe ich folgendes gemacht: Das gespeicherte nach vorne gezogen, stehen lassen und dann nocheinmal gespeichert. Dann ging es nebeneinander.
Also nur beim ersten Mal, dann geht es einwandfrei.
Danke jedenfalls für Deine wertvolle Hilfe
Ich bin immer wieder begeistert, was Ihr alles könnt.
Herzlichen Dank
chris58
Anzeige
Senkrechter Strich um Überblick zu halten
18.10.2024 11:56:52
chris58
Hallo UweD !
Ich habe bei der Formel versucht einen senkrechten Strich nach jeder Sicherung zu erhalten um einen besseren Überblick zu haben.
Kannst mir bitte nochmal helfen ?
Ich weiß, ich nerve.........
Danke vielmals
chris58

Hier die Formel des ganzen Makro:
Sub Kopieren()
Dim TB As Worksheet, LC As Integer
Set TB = Sheets("Berechnung")
With Sheets("History")
LC = .Cells(25, .Columns.Count).End(xlToLeft).Column + 1 'letzte Spalte einer Zeile+1
.Cells(25, LC).Value = TB.Cells(7, 6).Value
.Cells(26, LC).Value = TB.Cells(11, 3).Value
.Cells(27, LC).Value = TB.Cells(13, 3).Value 'oder 15, 7
.Cells(28, LC).Resize(1, 1).Value = .Cells(13, 2).Resize(2, 1).Value
.Cells(29, LC).Value = TB.Cells(18, 3).Value
.Cells(31, LC).Resize(3, 1).Value = .Cells(14, 2).Resize(3, 1).Value
.Cells(34, LC).Resize(2, 1).Value = .Cells(19, 2).Resize(4, 1).Value
Sheets("History").Select
Range("B1").Select
End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone 'ab da habe ich eingefügt
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 3
End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 3
End With

End Sub
Anzeige
AW: Senkrechter Strich um Überblick zu halten
18.10.2024 13:22:19
UweD
Hallo


so?

- Die Zeilen stimmen nun nicht mehr mit deiner Musterdatei überein. da musst du ggf nochmal nachbessern
- Wenn du resize() verwendest:
= > willst du einen Bereich mit den GLEICHEN Daten versehen, reicht das vor dem Gleichheitszeichen
= > willst du einen Bereich mit den Daten aus einem anderen Bereich versehen, dann müssen die resize- Angaben übereinstimmen

Sub Kopieren1()

Dim TB As Worksheet, LC As Integer
Set TB = Sheets("Berechnung")

With Sheets("History")
LC = .Cells(25, .Columns.Count).End(xlToLeft).Column + 1 'letzte Spalte einer Zeile+1

.Cells(25, LC).Value = TB.Cells(7, 6).Value
.Cells(26, LC).Value = TB.Cells(11, 3).Value
.Cells(27, LC).Value = TB.Cells(13, 3).Value 'oder 15, 7
.Cells(28, LC).Value = .Cells(13, 2).Value
.Cells(29, LC).Value = TB.Cells(18, 3).Value
.Cells(31, LC).Resize(3, 1).Value = .Cells(14, 2).Resize(3, 1).Value
.Cells(34, LC).Resize(2, 1).Value = .Cells(19, 2).Resize(2, 1).Value

With .Cells(25, LC).Resize(12, 1).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 3
End With

Sheets("History").Activate
Range("B1").Select

End With
End Sub
Anzeige
Herzlichen Dank
18.10.2024 14:43:08
chris58
Hallo UweD !
Nochmals Danke - ich versprech, jetzt hab ich alles........... :)
lg chris58

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige