[Excel/VBA] Bedingtes Kopieren von Inhalten

06/06/2010 - 19:11 von Frank Knappe | Report spam
Hallo,

ich habe bisher sàmtliche Probleme/Vorhaben in nativem Excel erledigt
und VBA immer vermieden. Folgende Idee làst sich aber nach meinem
Erkenntnissstand jedoch nicht ohne VBA erledigen.

Gegeben: ein Excel-Datei mit mehreren Sheets

Im ersten Sheet stehen in der ersten Spalte abzufragende Parameter
(àhnlich einer Inventur). Die in der zweiten Spalte einzutragenden Werte
sind Texte, Zahlen, daraus berechnete Werte über feste Formeln und auch
Auswahllisten. Diese Werte (also nur die Werte und nicht
Formeln/Auswahllisten) sollen dann per Knopfdruck auf einen Button in
ein anderes Sheet kopiert werden. Der entsprechende Sheet-Name steht
dabei schon in einer festen Spalte (wird da aus einem Auswahlmenü
aufegwàhlt). Im neuen Sheet sollen die Daten dann in die nàchste frei
Spalte kopiert werden.

Wie komme ich zu dieser Funktionalitàt?

Office 2003 prof. auf XP





Ciao , Frank.
 

Lesen sie die antworten

#1 Andreas Killer
07/06/2010 - 09:17 | Warnen spam
On 6 Jun., 19:11, Frank Knappe wrote:

und VBA immer vermieden. Folgende Idee làst sich aber nach meinem
Erkenntnissstand jedoch nicht ohne VBA erledigen.


Das siehst Du richtig.

Im ersten Sheet stehen in der ersten Spalte abzufragende Parameter


Da die offenbar nicht geprüft werden sollen ist es egal was da steht.

(àhnlich einer Inventur). Die in der zweiten Spalte einzutragenden Werte
sind Texte, Zahlen, daraus berechnete Werte über feste Formeln und auch


Ist auch egal was da steht. Also Spalte 2 ist fix, bleibt immer
gleich.

Auswahllisten. Diese Werte (also nur die Werte und nicht
Formeln/Auswahllisten) sollen dann per Knopfdruck auf einen Button in
ein anderes Sheet kopiert werden. Der entsprechende Sheet-Name steht
dabei schon in einer festen Spalte (wird da aus einem Auswahlmenü


Im Beispielcode wird der Sheet-Name aus Zelle G2 gelesen.

aufegwàhlt). Im neuen  Sheet sollen die Daten dann in die nàchste frei
Spalte kopiert werden.


Ist dieses Sheet schon vorhanden?

Wie komme ich zu dieser Funktionalitàt?


Programmieren. ;-)

Andreas.

Option Explicit

Sub Test()
Dim Data
Dim Tabelle As String
Dim WS As Worksheet
Dim X As Long
'Tabellenname einlesen
Tabelle = Range("G2")
'Spalte B einlesen
Data = Columns(2)
'Zugriff auf Tabelle versuchen
On Error Resume Next
Set WS = Sheets(Tabelle)
If Err.Number <> 0 Then
MsgBox "Tabelle " & Tabelle & " gibt's nicht"
Exit Sub
End If
On Error GoTo 0
'In der Tabelle...
With WS
'...letzte Spalte ermitteln
X = .Cells(1, Columns.Count).End(xlToLeft).Column
'Freie Spalte vorhanden?
If X + 1 > Columns.Count Then
MsgBox "Keine freie Spalte mehr"
Exit Sub
End If
'Daten eine Spalte weiter schreiben
.Columns(X + 1) = Data
End With
End Sub

Ähnliche fragen