Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Необычная задача...

Автор Mimino, 24.12.2011, 15:57

« назад - далее »

Mimino

Доброго времени суток, Уважаемые! С Excel-ем я на Вы, поэтому обращаюсь к профессионалам! С интернет-магазина, нужно переместить базу в Excel с моделью и ценой, возможно ли это? Заранее благодарю!

Алексей Шмуйлович


Алексей Шмуйлович

Если хотите получить ответ на свой вопрос, желательно дать хотя бы немного информации. Начните с чтения правил_форума, пожалуйста.

Mimino

Ну что ж, почитаем правила  :)

Mimino

Доброго времени суток, Всем! Постараюсь, изложить задачу в рамках правил данного форума. Для примера можно взять сайт Сибвез  ( http://www.sibvez.ru ), нужно извлечь из html кода, только торговую марку, модель и цену и представить данный материал в виде таблицы в Excel. Заранее спасибо!

Алексей Шмуйлович

То есть Вам нужно вытянуть данные не напрямую из базы данных. В смысле, это не Ваш сайт и Вы не знаете параметров подключения к его базе данных.
Тогда речь об импорте не из базы, а с интернет-сайта. Инструменты есть, но все зависит от структуры сайта. В приведенном Вами примере данные размещены крайне неудачно. Нет единой таблицы с прайсом. Даже в пределах раздела каждый товар помещен в отдельную таблицу. Так-что максимум, что можно сделать - вытаскивать автоматизированно сколько-нибудь позиций прайса по счету. Например первые 10 или 100.
Чтобы вытащить в Excel таблицу с сайта нужно на вкладке Данные выбрать Получить внешние данные - Из веба. В адресной строке ввести адрес страницы. Затем отметить ярлычек той таблицы, где находится нужная информация.
После вставки таблицу можно обновлять. Будут подтягиваться новые данные.

langeron

То что Вы хотите сделать называется термином "парсить". Софт для этого называется "парсер сайтов". Универсальных парсеров нет и быть не может, обычно парсер затачивается под конкретный сайт и конкретную задачу.
Если Вся Ваша задача сводится к получению списка товаров с сайта в Excel таблицу, то это проще делать не из Экселя, а из любой программы - анализатора html. Хотя, при необходимости можно написать макрос на VBA, который будет парсить конкретно этот сайт и выводить данные в необходимом Вам виде. Если есть желание можете более подробно написать о задаче на почту 560792@gmail.com.

Mimino

Спасибо, Уважаемые!=) Очень полезная информация...

Mimino

Доброго времени суток!

Скачал программу parser3_4_1_ru. Программа незнакомая как и работа с серверами и базами. Можете проконсультировать, какие действия нужно сделать, чтобы реализовать выше поставленную задачу.

С уважением, Mimino.

Mimino

Задаю, Excely, чистить через каждые 2 ячейки содержимое, не хочет, пишет Type Mismatch... В чем дело уважаемые?
For Row = 1 To 200
    Set TheCell = Range("A1").Offset(Row * 2 - 1, 0).Clear
Next Row
End Sub

nilem

Dim i As Long
For i = 1 To 200 Step 2
    Cells(i, 1).Clear
Next i

Алексей Шмуйлович

Цитата: Mimino от 31.12.2011, 04:46
Задаю, Excely, чистить через каждые 2 ячейки содержимое, не хочет, пишет Type Mismatch... В чем дело уважаемые?
For Row = 1 To 200
    Set TheCell = Range("A1").Offset(Row * 2 - 1, 0).Clear
Next Row
End Sub

Дело в том, что clear - это метод, а не функция. Поэтому нельзя использовать конструкцию Set TheCell = ...Clear
Можно просто:

Range("A1").Offset(Row * 2 - 1, 0).Clear

Хотя вариант nilema проще.

Mimino

Спасибо, Уважаемые! С наступающим Вас! Всех благ мирских и душевных!

Mimino

Доброго времени суток, Уважаемые!
Возникла проблема. Имеется столбец с значениями 11, 11а, 116,  113а, 12а... Необходимо удалить  значения с отличительной особенность, то есть а на конце.... Крутил вертел, но пока моих знаний недостаточно.... Range("A1:A500").Find(a).Delete... Превратить бы в цикл данное действие...

kuklp

#14
Sub www()
   On Error Resume Next
   With Range(Cells(1, 1), Cells(65536, 1).End(xlUp))
       .AutoFilter 1, "=*a"
       .Offset(1).SpecialCells(12).ClearContents
       .AutoFilter
   End With
End Sub

и вариант покороче:
Sub www1()
   Dim r$: r = ActiveSheet.UsedRange.Columns(1).Address
   Range(r).Value = Evaluate("IF(RIGHT(" & r & ")=""a"",""""," & r & ")")
End Sub

И совсем короткий:
Sub www2(): [A:A].Replace "*a", "", 2: End Sub ;D
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771