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

Range mit dynamischer Spalte

Forumthread: Range mit dynamischer Spalte

Range mit dynamischer Spalte
08.04.2021 17:38:23
x.x
Hallo
ich möchte

Range("$BD$3:$BG$3")
ersetzen durch einen dynmaischen Wert. Dafür suche ich zunächst die Spalte mit dem Wert "Datum" und möchte dann die nächste, rechts davon nehmen, d.h. irgendwie in dem Format Cells(3, Such.Column +1)
Code:

'Datum transponieren
Dim Such As Range
Such = Sheets("A.").Rows(3).Find(what:="Datum", LookIn:=xlValues, lookat:=xlWhole)
Sheets("N.").Range("$BD$3:$BG$3").Copy
Sheets("Imp").Range("$F$2:F" & Cells(Rows.Count, 1).End(xlUp).Row).PasteSpecial Paste:= _
xlPasteValues, Transpose:=True
Columns("F:F").NumberFormat = "m/d/yyyy"

Wäre dankbar für Tipps!
LG
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range mit dynamischer Spalte
08.04.2021 18:31:05
Daniel
Hi
wenn du die Spaltennummer brauchst:
Dim Such as Long
Such = Sheets("A.").Rows(3).Find(what:="Datum", LookIn:=xlValues, lookat:=xlWhole).Column + 1
als Zelle
 Dim Such as Range
Set Such = Sheets("A.").Rows(3).Find(what:="Datum", LookIn:=xlValues, lookat:=xlWhole).Offset(0, 1)
Gruß Daniel
Anzeige
AW: Range mit dynamischer Spalte
08.04.2021 18:34:24
x.x
Danke Daniel!
Mein Problem ist eher, dass ich nicht weiß, wie ich die Spaltenbuchstaben BD/BG durch die dynamische Spalte ersetzen soll, damit der Code noch funktioniert.
Hast du einen Tipp
AW: Range mit dynamischer Spalte
08.04.2021 18:40:57
Werner
Hallo,
meinst du so:
  • 
    Sub Schaltfläche1_Klicken()
    Dim Such As Range
    Set Such = Sheets("A.").Rows(3).Find(what:="Datum", _
    LookIn:=xlValues, lookat:=xlWhole)
    If Not Such Is Nothing Then
    Sheets("N.").Cells(3, Such.Column).Offset(, 1).Resize(, 4).Copy
    With Sheets("Imp")
    .Cells(.Cells(.Rows.Count, "F").End(xlUp).Offset(1).Row, "F") _
    .PasteSpecial Paste:=xlPasteValues, Transpose:=True
    .Columns("F").NumberFormat = "m/d/yyyy"
    End With
    Else
    MsgBox "Es gibt keine Spalte Datum."
    End If
    Set Such = Nothing
    Application.CutCopyMode = False
    End Sub
    

  • Wobei mir das seltsam vorkommt. Du suchst "Datum" im Blatt "A." kopierst dann aber aus dem Blatt "N.".
    Gruß Werner
    Anzeige
    AW: Range mit dynamischer Spalte
    09.04.2021 11:09:09
    Guest
    Hallo Werner,
    tut mir sehr leid - ich habe den Code komplett übersehen. Das werde ich gleich mal ausprobieren - danke!
    AW: Range mit dynamischer Spalte
    09.04.2021 11:12:38
    Guest
    Hallo Werner,
    tut mir sehr leid - ich habe den Code komplett übersehen. Das werde ich gleich mal ausprobieren - danke!
    AW: Range mit dynamischer Spalte
    09.04.2021 11:30:25
    Guest
    Das funktioniert super, allerdins werden die vier Zellen nur einmal reinkopiert.
    Es soll aber mehrfach bis zur letzten gefüllten Zelle in Spalte A in Spalte F eingefügt werden
    D.h.
    Termin 1
    Termin 2
    Termin 3
    Termin 4
    Termin 1
    Termin 2
    ....
    Anzeige
    AW: Range mit dynamischer Spalte
    09.04.2021 11:53:12
    Werner
    Hallo,
    dann z.B. so:
  • 
    Sub Schaltfläche1_Klicken()
    Dim Such As Range, loAnfang As Long, loEnde As Long
    Application.ScreenUpdating = False
    Set Such = Sheets("A.").Rows(3).Find(what:="Datum", _
    LookIn:=xlValues, lookat:=xlWhole)
    If Not Such Is Nothing Then
    Sheets("N.").Cells(3, Such.Column).Offset(, 1).Resize(, 4).Copy
    With Sheets("Imp")
    loAnfang = .Cells(.Rows.Count, "F").End(xlUp).Offset(1).Row
    loEnde = .Cells(.Rows.Count, "A").End(xlUp).Row
    .Cells(loAnfang, "F").PasteSpecial Paste:=xlPasteValues, Transpose:=True
    .Cells(loAnfang, "F").Resize(4).AutoFill _
    Destination:=.Range(.Cells(loAnfang, "F"), .Cells(loEnde, "F")), Type:=xlFillCopy
    .Columns("F").NumberFormat = "m/d/yyyy"
    End With
    Else
    MsgBox "Es gibt keine Spalte Datum."
    End If
    Set Such = Nothing
    Application.CutCopyMode = False
    End Sub
    

  • Gruß Werner
    Anzeige
    AW: Range mit dynamischer Spalte
    09.04.2021 13:29:01
    Guest
    Danke, das läuft einwandfrei! Vielen vielen Dank!
    Gerne u. Danke für die Rückmeldung. o.w.T.
    09.04.2021 15:05:17
    Werner
    AW: Range mit dynamischer Spalte
    08.04.2021 18:38:43
    x.x
    Danke Daniel!
    Mein Problem ist eher, dass ich nicht weiß, wie ich die Spaltenbuchstaben BD/BG durch die dynamische Spalte ersetzen soll, damit der Code noch funktioniert.
    Hast du einen Tipp
    Anzeige
    AW: Range mit dynamischer Spalte
    09.04.2021 10:51:04
    Guest
    Danke.
    Ich hab es nun so gemacht
        Dim Liefertermin1 As Long, Liefertermin2 As Long, Liefertermin3 As Long, Liefertermin4 As  _
    Long
    Liefertermin1 = Sheets("Nfr.").Rows(3).Find(what:="Datum", LookIn:=xlValues, lookat:= _
    xlWhole).Column + 1
    Liefertermin2 = Sheets("Nfr.").Rows(3).Find(what:="Datum", LookIn:=xlValues, lookat:= _
    xlWhole).Column + 2
    Liefertermin3 = Sheets("Nfr.").Rows(3).Find(what:="Datum", LookIn:=xlValues, lookat:= _
    xlWhole).Column + 3
    Liefertermin4 = Sheets("Nfr.").Rows(3).Find(what:="Datum", LookIn:=xlValues, lookat:=xlWhole).Column + 4
    
    Nun möchte ich diese Spalten von Termin 1 bis 4 in Zeile 3 kopieren und (mehrfach) einfügen:
    Sheets("N.").Range(Cells(3, Liefertermin1), Cells(3, Liefertermin4)).Copy
    Sheets("A.").Range("$F$2:F" & Cells(Rows.Count, 1).End(xlUp).Row).PasteSpecial Paste:=xlPasteValues, Transpose:=True
    Leider erhalte ich hier einen Fehler: Anwendungs- oder objektorientierter Fehler (1004)
    Hat jemand eine Lösung? LG
    Anzeige
    AW: Range mit dynamischer Spalte
    09.04.2021 10:58:35
    Werner
    Hallo,
    und eine Reaktion für meinen Vorschlag hälst du nicht für nötig?
    Gruß Werner
    ;

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Entdecke mehr
    Finde genau, was du suchst

    Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

    Suche nach den besten Antworten
    Unsere beliebtesten Threads

    Entdecke unsere meistgeklickten Beiträge in der Google Suche

    Top 100 Threads jetzt ansehen
    Anzeige