VBA-Wie man Werte aus den ausgewählten Zellen
Ich muss Daten aus markierten Zellen-array. Wie es zu tun? Ich kann nicht finden, Beispiel. Ich weiß, wie man Wert aus einer Zelle durch ActiveCell.Value
aber, wie seine Arbeit mit Mehrfachauswahl. Ich Schätze, ich sollte ausgewählten Bereich setzen, um die variable als Objekt und Prozess ist es durch die foreach-Schleife. Kann mir jemand schreiben Beispiel dafür?
Lösung:
Sub Button1_Click()
For Each OneCell In Selection
MsgBox (OneCell.Value)
Next
End Sub
A = R.Value
woA
ist eine Variante undR
ist der Zielbereich ist alles, was Sie brauchen (vorausgesetzt, dassR
ist ein Rechteckiger Bereich).- Ich weiß nicht, Zielband, dessen abhängt, was wurde vom Benutzer ausgewählt.
Selection
ist der Bereich, den der Benutzer ausgewählt hat (es sei denn, Sie werden immer von den Eingaben des Benutzers auf andere Weise). Sie brauchen, um Ihren code und erklären Sie Ihr problem-wie es ist, deine Frage ist sehr unklar.- Würde Die Auswahl.Wert der Arbeit dann?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Application.Selection
ist nicht immerRange
(zum Beispiel, wenn die Form(en) oder ActiveX-Steuerelement(s) ausgewählt sind), undSelection.Value
gibt verschiedene Dinge, je nachdem, was ausgewählt ist:.Value
EigenschaftWenn mehr als ein Bereich ausgewählt ist, wird
.Value
gibt den Wert(s) nur von der ersten Bereich.Den Die einheimischen Fenster machen es leichter zu sehen, die Inhalte der
Application.Selection
Selection.Value
noch gibt ein 2D-array der Größe (1 bis 1, 1 zu n)Debug.Print Selection.Address(0, 0)
gibt es? in meinen Augen ist der zweite (Debug.Print area.Address(0, 0)
) wird catch all "- Auswahl/ - Gebiete".selection.
zeigt den ausgewählten Bereichen "auf einmal" undarea.
zeigt jede Palette "individuell".Müssen Sie nicht verwenden
OneCell.Value
als die Zelle selbst enthält den Wert.Wenn Sie möchten, um die Zellen-Formel dann verwenden
OneCell.FormulaR1C1
.