Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Auswahl Zelle durch Inputbox


Betrifft: Auswahl Zelle durch Inputbox von: Peter Arnold
Geschrieben am: 02.08.2017 07:29:53

Hallo zusammen,
ich ersuche um Hilfe, für eine Pivotabelle, wo ich dann Leerzeilen habe, habe ich mir ein Makro gebastelt, welches mir die Zellen dann ausfüllt.

Sub ausfüllen()
With Intersect(Columns("E:E"), ActiveSheet.UsedRange)
.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
End Sub
Allerdings muss ich das immer "Manuell" anstoßen und die Spalten entsprechend benennen.
Kann man hier eine Inputbox dazwischen basteln wo ich sagen kann Spalte = B und dann setzt er automatisch (Columns ("B:B" ??
Vielen Dank

Grüße

Peter

  

Betrifft: Wie wäre es mit... von: Case
Geschrieben am: 02.08.2017 08:04:23

Hallo, :-)

... "ActiveCell.Column"? Also die Spalte für die gerade aktive Zelle: ;-)

With Intersect(Columns(ActiveCell.Column), ActiveSheet.UsedRange)
Servus
Case



  

Betrifft: AW: Wie wäre es mit... von: Peter Arnold
Geschrieben am: 02.08.2017 08:13:21

Guten Morgen Case,
Danke, ja das wäre eine "minimal" Lösung aber... wenn man mehrere Spalten hat welche nach unten aufgefüllt werden müssen (ist leider immer unterschiedlich) so wäre eine "Eingabe" aus meiner Sicht zielführender?
Kann man nicht irgendwie sagen Cell = Inputbox oder wenn Inputbox = B dann Collumns B:B ??
Vielen Dank, einen schönen Tag
Grüße

Peter


  

Betrifft: Mit InputBox... von: Case
Geschrieben am: 02.08.2017 08:32:42

Hallo Peter, :-)

... so: ;-)

Option Explicit
Sub Main()
    Dim strQuelle As String
    On Error GoTo Fin
    strQuelle = InputBox("Auswahl", "Spalte", "B")
    With Intersect(Columns(strQuelle), ActiveSheet.UsedRange)
        .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
        .Value = .Value
    End With
Fin:
End Sub
Servus
Case



  

Betrifft: Bzw. für mehrere... von: Case
Geschrieben am: 02.08.2017 08:38:25

Hallo Peter, :-)

... Spalten: ;-)

Option Explicit
Sub Main()
    Dim strQuelle As String
    On Error GoTo Fin
    strQuelle = InputBox("Auswahl", "Spalten", "A:D")
    With Intersect(Columns(strQuelle), ActiveSheet.UsedRange)
        .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
        .Value = .Value
    End With
Fin:
End Sub
Servus
Case



  

Betrifft: AW: Bzw. für mehrere... von: Peter Arnold
Geschrieben am: 02.08.2017 09:05:09

Hallo Case,
super das ist es.. allerdings formatiert er die Zelle neu? warum? in Zelle A habe ich z.B. das Quartal 20172 und beim ausfüllen setzt er nun ein Datum?, wie kann ich dem Code sagen er soll das Format der Zelle mitnehmen bzw. übertragen? Vielen Dank

Peter


  

Betrifft: Das macht der... von: Case
Geschrieben am: 02.08.2017 09:24:31

Hallo Peter, :-)

... Code in meiner Beispieldatei nicht. Lade doch mal eine Datei mit Beispieldaten hoch, wo der Fehler auftritt. ;-)

Servus
Case



  

Betrifft: AW: Das macht der... von: Peter Arnold
Geschrieben am: 02.08.2017 09:42:27

Hallo Case,
danke, Mustertabelle anbei, er füllt alles richtig aus aber schau dir z.B das Dtum an ?? Danke
https://www.herber.de/bbs/user/115167.xlsx
Grüße
Peter


  

Betrifft: Probiere es mal... von: Case
Geschrieben am: 02.08.2017 11:39:09

Hallo Peter, :-)

... so: ;-)

Option Explicit
Sub Main()
    Dim strQuelle As String
    On Error GoTo Fin
    Application.ScreenUpdating = False
    strQuelle = InputBox("Auswahl", "Spalten", "A:D")
    With Intersect(Columns(strQuelle), ActiveSheet.UsedRange)
        .SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
        .Value = .Value
    End With
    Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row).NumberFormat = "dd/mm/yyyy"
Fin:
    Application.ScreenUpdating = True
End Sub
Je nach Anwendung kann man auf verschiedenen Wegen vorgehen. ;-)

Servus
Case



  

Betrifft: AW: Probiere es mal... von: Peter Arnold
Geschrieben am: 02.08.2017 13:16:28

Hallo Case, super vielen, vielen herzliche Dank, hasst mir sehr geholfen!!
Grüße

Peter


  

Betrifft: Gerne - Danke für die Rückmeldung! O.w.T. von: Case
Geschrieben am: 02.08.2017 13:20:29

:-)


  

Betrifft: AW: Gerne - Danke für die Rückmeldung! O.w.T. von: Peter Arnold
Geschrieben am: 03.08.2017 08:26:19

Hallo Case,
ich habe bitte noch eine Frage, wenn der Wert OK ist kann man dann einen wert aus Tabelle1 der Spalte E in die Tabelle 2 Spalte O schreiben? so ähnlich wie Sverweis? vielen Dank und Grüße

Peter


Beiträge aus den Excel-Beispielen zum Thema "Auswahl Zelle durch Inputbox"