Hallo
Es würde mir sehr weiterhelfen wenn jemand ein Blick auf mein Problem werfen könnte und mir dann einen Tip geben könnte.
Ich muss ein bestehendes Marco an einigen Stellen anpassen.
Ich scheitere aber immer an derselben Problemstelle.
Hier steht der funktionierende Code um in Spalte A alle Zellen bis zur letzten automatisch auszufüllen.
Ich müsste nun ähnliches machen, allerdings in der Breite.
Also ich müsste die Werte ausfüllen bis zur vorletzten Spalte für die Zeile 1
Momentan fülle ich IMMER bis zur Zelle 1 der Spalte Y aus.
Neuerdings sind das aber nicht mehr IMMER 24 Zellen (bis zur Spalte Y)
Ich habe mich hier mal versucht
Allerdings in der Gewissheit dass("B1:Y1" nicht stimmen kann. Ich weiss bloß nicht wie es richtig ist.
---------------------------
Später im Ablauf wähle ich momentan den Bereich ("B1´:Y1") aus - kopiere ihn und füge ihn in einem anderen Blatt wieder vertikal ein.
Anschliessend dasselbe für den Bereich ("B2:Y2")
Zur Info: B1 bis Y1 ist der Nummer einer Batteriezelle
in B2 bis Y2 steht der Wert der Batteriespannung
Das klappt super weil aktuell ja IMMER der fixe Bereich für die 24 Zellen ausgewählt uns eingefügt wird.
Auch hier habe ich das Problem dass bis zu Y1 oder Y2 variabel wird / also bis zur vorletzten Spalte
Ebenfalls wird das eventuell nicht gehen um die kopierten Werte (da variabele Länge) nach ("B6:B29") oder ("C6:C29") einzufügen ??
Vielen Dank
Mit freundlichsten Grüssen (was überhaupt so möglich ist)
Es würde mir sehr weiterhelfen wenn jemand ein Blick auf mein Problem werfen könnte und mir dann einen Tip geben könnte.
Ich muss ein bestehendes Marco an einigen Stellen anpassen.
Ich scheitere aber immer an derselben Problemstelle.
Hier steht der funktionierende Code um in Spalte A alle Zellen bis zur letzten automatisch auszufüllen.
Code:
letzteZeile = ActiveWorkbook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'in Spalte A ermittelt
'Werte auffüllen
With Range("A1:A2:A3")
.AutoFill Destination:=Range("A1:A" & letzteZeile), Type:=xlFillDefault
End With
Ich müsste nun ähnliches machen, allerdings in der Breite.
Also ich müsste die Werte ausfüllen bis zur vorletzten Spalte für die Zeile 1
Momentan fülle ich IMMER bis zur Zelle 1 der Spalte Y aus.
Code:
Range("B1").Select
ActiveCell.FormulaR1C1 = "Zelle 1"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Zelle 2"
Range("B1:C1").Select
Selection.AutoFill Destination:=Range("B1:Y1"), Type:=xlFillDefault
Neuerdings sind das aber nicht mehr IMMER 24 Zellen (bis zur Spalte Y)
Ich habe mich hier mal versucht
Code:
letzteSpalte = ActiveWorkbook.ActiveSheet.Cells(2, Columns.Count).End(xlToLeft).Column 'in Zeile 2 ermittelt
vorletzteSpalte = letzteSpalte - 1 'vorletzte Spalte
Selection.AutoFill Destination:=Range("B1:Y1" & votletzte), Type:=xlFillDefault
Allerdings in der Gewissheit dass("B1:Y1" nicht stimmen kann. Ich weiss bloß nicht wie es richtig ist.
---------------------------
Später im Ablauf wähle ich momentan den Bereich ("B1´:Y1") aus - kopiere ihn und füge ihn in einem anderen Blatt wieder vertikal ein.
Anschliessend dasselbe für den Bereich ("B2:Y2")
Zur Info: B1 bis Y1 ist der Nummer einer Batteriezelle
in B2 bis Y2 steht der Wert der Batteriespannung
Code:
ActiveWorkbook.Sheets(strTabname).Select
Range("B1:Y1").Select
Selection.Copy
Sheets("Floating").Select
Range("B6:B29").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
ActiveWorkbook.Sheets(strTabname).Select
Range("B2:Y2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Floating").Select
Range("C6:C29").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Das klappt super weil aktuell ja IMMER der fixe Bereich für die 24 Zellen ausgewählt uns eingefügt wird.
Auch hier habe ich das Problem dass bis zu Y1 oder Y2 variabel wird / also bis zur vorletzten Spalte
Ebenfalls wird das eventuell nicht gehen um die kopierten Werte (da variabele Länge) nach ("B6:B29") oder ("C6:C29") einzufügen ??
Vielen Dank
Mit freundlichsten Grüssen (was überhaupt so möglich ist)