Office: Spaltenabfrage - flexibles Makro

Helfe beim Thema Spaltenabfrage - flexibles Makro in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo an alle Makro Experten, ich habe folgendes Makro, dass sich momentan jedoch immer auf Spalte "C" bezieht. Wie bekomme ich es hin Spalte C als... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von magb, 24. September 2010.

  1. magb User

    Spaltenabfrage - flexibles Makro


    Hallo an alle Makro Experten,

    ich habe folgendes Makro, dass sich momentan jedoch immer auf Spalte "C" bezieht. Wie bekomme ich es hin Spalte C als festen Wert durch eine Art Abfrage zu ersetzen bei dem ich die Spalte angeben kann und daraufhin das Makro ausgeführt wird. Also ein wenig flexibler gestalten, falls in manchen Tabellenblättern die gewünschte Aktion nicht in Spalte C, sondern in einer anderen oder mehreren durchgeführt werden soll?
    vielen Dank im voraus
    liebe grüße
    MagB

    Columns("C:C").Select
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 1), TrailingMinusNumbers:=True
    Columns("C:C").Select
    Selection.Copy
    Columns("D:D").Select
    Selection.Insert Shift:=xlToRight
    Application.CutCopyMode = False
    Range("D2").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!C[-3]:C[-2],2,0)"
    Selection.Copy
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Columns("D:D").Select
    Selection.Copy
    Columns("C:C").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Columns("D:D").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Cells.Select
    Range("A1:O139").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    Range("E3").Select
    End Sub
     
  2. Beverly
    Beverly Erfahrener User
    Hi,

    versuche es mal auf diesem Weg:
    Code:
    Sub Spalten()
        Dim varSpalte As Variant
        Dim intSpalte As Integer
        varSpalte = Application.InputBox("Bitte Spalte eingeben", "Spalte", "C", Type:=2)
        On Error Resume Next
        intSpalte = Columns(varSpalte).Column
        On Error GoTo 0
        If intSpalte = 0 Then
            MsgBox "Das ist keine gültige Spaltenbezeichnung"
            Exit Sub
        End If
        Columns(varSpalte & ":" & varSpalte).TextToColumns Destination:=Range(varSpalte & 1), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 1), TrailingMinusNumbers:=True
        Columns(varSpalte & ":" & varSpalte).Copy
        Columns(varSpalte & ":" & varSpalte).Offset(, 1).Insert Shift:=xlToRight
        Cells(2, intSpalte + 1).FormulaR1C1 = "=VLOOKUP(RC[-1],Sheet2!C[-3]:C[-2],2,0)"
        Cells(2, intSpalte + 1).AutoFill Destination:=Range(Cells(2, intSpalte + 1), Cells(IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row, Rows.Count), intSpalte + 1))
        Columns(varSpalte & ":" & varSpalte).Offset(, 1).Copy
        Columns(varSpalte & ":" & varSpalte).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        Columns(varSpalte & ":" & varSpalte).Offset(, 1).Delete Shift:=xlToLeft
        Range("A1:O139").AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    End Sub
    
    Bis später,
    Karin
     
  3. magb User
    Die Abfrage funktioniert aber wenn ich NICHT Spalte C eingebe, sondern eine andere, dann gibt mir der SVERWEIS nur noch #NV aus.
    könntest du nochmal reinschauen?

    vielen dank
    lg
    magb
     
  4. Beverly
    Beverly Erfahrener User

    Spaltenabfrage - flexibles Makro

    Hi,

    ändere diese Zeile:

    Code:
     
       Cells(2, intSpalte + 1).AutoFill Destination:=Range(Cells(2, intSpalte + 1), Cells(IIf(IsEmpty(Cells(Rows.Count, 3)), Cells(Rows.Count, 3).End(xlUp).Row, Rows.Count), intSpalte + 1)) 
    
    in diese:
    Code:
        Cells(2, intSpalte + 1).AutoFill Destination:=Range(Cells(2, intSpalte + 1), _
            Cells(IIf(IsEmpty(Cells(Rows.Count, intSpalte)), _
            Cells(Rows.Count, intSpalte).End(xlUp).Row, Rows.Count), intSpalte + 1))
    
    Dort stand noch der Zellbezug zur Spalte C (3) drin.

    Bis später,
    Karin
     
Thema:

Spaltenabfrage - flexibles Makro

Die Seite wird geladen...
  1. Spaltenabfrage - flexibles Makro - Similar Threads - Spaltenabfrage flexibles Makro

  2. flexible Pausenzeiten bei Arbeitszeiterfassung

    in Microsoft Excel Hilfe
    flexible Pausenzeiten bei Arbeitszeiterfassung: Hallo alle zusammen, es gibt viele Möglichkeiten die Pausen automatisch zu berechnen, aber für den Fall wie ich es benötige, habe ich nichts passendes gefunden. Arbeitszeiten werden "gestochen",...
  3. flexible Indirekt Formel und VBA zum aufrufen der Dateien (Im Hintergrund)

    in Microsoft Excel Hilfe
    flexible Indirekt Formel und VBA zum aufrufen der Dateien (Im Hintergrund): Hallo Zusammen, ich lasse momentan die Zeiterfassung unserer Produktion per Excel machen. Hierfür habe ich mir dann in einem separatem Excel-File eine Auswertung von allen Kollegen erstellt....
  4. Problemfall "Flexibler Kalender und Diagramm"

    in Microsoft Excel Hilfe
    Problemfall "Flexibler Kalender und Diagramm": Ich habe eine Excel-Tabelle als Blutzucker-Tagebuch, welche ich verbessern möchte. Im Register "Stammdaten" möchte ich das Jahr eintragen - auf den jeweiligen Monatsblättern sollen die Tage dann...
  5. Urlaubsplan in Excel mit Besetzungsminimum

    in Microsoft Excel Hilfe
    Urlaubsplan in Excel mit Besetzungsminimum: Hallo, wir benutzen hier eine Excel Tabelle um den Urlaub zu planen. Die Tabelle funktioniert soweit ganz OK, aber es durchaus Verbesserungsbedarf. Am wichtigsten wäre wenn man Mitarbeiter...
  6. Flexible Wert-Änderung mit WENN_Funktion in anderer Zelle anzeigen lassen?

    in Microsoft Excel Hilfe
    Flexible Wert-Änderung mit WENN_Funktion in anderer Zelle anzeigen lassen?: Hallo Leute! Folgende Ausgangslage(siehe Anhang): Ich habe Spieler in meinem Team deren aktueller Marktwert (Spalte C) täglich neu festgelegt wird bzw. sich tägl. ändert. Den Vergleich MW-TS...
  7. flexible Werteeingabe in Tabelle über Formular

    in Microsoft Excel Hilfe
    flexible Werteeingabe in Tabelle über Formular: Hallo, ich habe mal wieder ein für mich recht schwieriges Problem. Ich habe einen Jahreskalender für eine Schichtplanung erstellt. Sehr viele VBA Funktionen sind mit Hilfe der nette Helfern dieses...
  8. neue tabellenblatt mit Spaltenabfrage

    in Microsoft Excel Hilfe
    neue tabellenblatt mit Spaltenabfrage: Hallo zusammen, habe ein problem möchte aus einer tabelle alle Zeilen die in Spalte 2 die gleiche nummer haben in ein neues tabellenblatt kopieren welches den namen der bezeichnung aus Spalte 2...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden