Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

VBA EXCEL cerca orizzontale

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

VBA EXCEL cerca orizzontale

Postdi MatteoPP » 07/10/14 09:39

Ciao a tutti premetto che è la prima volta che scrivo su questo blog ed è veramente da molto poco che uso VBA per excel.

Quello di cui avrei bisogno e non riesco proprio a fare è una funzione che

dato un nome nella cella B1 del foglio "CASH" faccia un cerca orizzontale nel Range( A7:CH7) del foglio "INTERCOMPANY" in cui venga trovato il nome della cella B1 e in tale colonna dalla riga 8 alla 74 incollare una colonna precedentemente copiata da un altro file.

il mio dubbio è anche se fare un if then o in vlook


Grazie a tutti per eventuali risposte.
MatteoPP
Utente Junior
 
Post: 10
Iscritto il: 07/10/14 09:29

Sponsor
 

Re: VBA EXCEL cerca orizzontale

Postdi MatteoPP » 07/10/14 09:47

A mio ignorantissimo parere dovrei fare una roba come:

If range(A7:CH7) = woorksheets("CASH").Cell("B1")
then
Range(" ?????").select <----- qua non saprei proprio come impostare ( è il range dalla riga 8 alla 74 della colonna trovata)
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
MatteoPP
Utente Junior
 
Post: 10
Iscritto il: 07/10/14 09:29

Re: VBA EXCEL cerca orizzontale

Postdi wallace&gromit » 07/10/14 10:41

ciao Matteo,
il tuo if, così come l'hai scritto non funziona.
Ci sono probabilmente vari modi di risolvere, ma io proporrei un ciclo for...next e all'interno di questo ciclo imposti il tuo if, dove per determinare la cella usi una variabile nella funzione Cells.
for i = 1 to 86
if Cells(7,i) = worksheets("CASH").Cell("B1") then
Cells(8,i).select <--- non ti serve selezionare tutto il range, basta dirgli la prima cella e tutto sarà incollato sotto
...
end if
next i
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1420
Iscritto il: 16/01/12 14:21

Re: VBA EXCEL cerca orizzontale

Postdi MatteoPP » 07/10/14 11:21

Ciao,
grazie per la velicissima risposta!!!!

effettivamente mi sembra meglio il tuo metodo rispetto a quello che stavo creando che comunque ti copio in fondo al foglio.

ho riscontrato un errore al momento di:
If Cells(7, i) = Worksheets("CASH").Cell("B1") Then

mi dice proprietà o metodo non dall'oggetto. ( può essere perche la cartella B1 in "CASH" deriva da un cerca.vert ?

ti copio il mio ( a quanto pare) eccessivamente lungo lavoro
Dim NomeBanca As Range


Range("L7:L73").Select
Selection.Copy
Windows( _
"nome del file su cui devo copiare).Activate
Sheets("CASH").Select
Set NomeBanca = .Range("B1")

With ActiveWorkbook.Sheets("nome dell' altro foglio")
Range("B7:CH7").Select
Selection.Find(What:="NomeBanca", After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate



Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
MatteoPP
Utente Junior
 
Post: 10
Iscritto il: 07/10/14 09:29

Re: VBA EXCEL cerca orizzontale

Postdi Zer0Kelvin » 07/10/14 11:34

Ciao.
Con
Codice: Seleziona tutto
Worksheets("CASH").Cell("B1")

hai commesso due errori in un colpo solo: si scrive Cells e non Cell, poi Cells richiede come parametri dei valori numerici.
L'espressione corretta sarebbe
Codice: Seleziona tutto
Worksheets("CASH").Range("B1")

L'errore "proprietà o metodo non supportati..." deriva dal fatto che l'oggetto Worksheet non ha alcuna proprietà Cell (ma Cells).
[Win7,Office2010]
Condividere la conoscenza aumenta la ricchezza di tutti(Z0°K)
Dai ad un uomo un pesce e lo avrai sfamato per un giorno;insegnagli a pescare e lo avrai sfamato per sempre(Confucio)
Il sonno della ragione genera mostri(Francisco Goya)
Avatar utente
Zer0Kelvin
Utente Senior
 
Post: 303
Iscritto il: 08/04/12 11:23

Re: VBA EXCEL cerca orizzontale

Postdi MatteoPP » 07/10/14 14:51

Grazie ad entrambi. Problema risolto fantasticamente!!!
MatteoPP
Utente Junior
 
Post: 10
Iscritto il: 07/10/14 09:29


Torna a Applicazioni Office Windows


Topic correlati a "VBA EXCEL cerca orizzontale":


Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti

cron